CKA Study Day 19

김건호·2023년 4월 20일
0

224-231

CoreDNS in K8S

cat /etc/coredns/Corefile

coredns 파드에 등록됨

파드와 서비스가 생성될때마다 coredns에 저장 됨

파드 dns설정은 쿠베가 자동으로
kubelet에 dns가 정의 되어 있음

Ingress

서비스 외부 노출 시, 노드 포트로 지정해야하는데 사용자는 포트를 기억하고 싶지 않아함
구글 클라우드 플랫폼 같은 경우 로드밸런서 구성 가능

로드밸런서마다 IP를 부여해야함 -> uril 기반 트래픽 분산을 해야함 -> ssl 인증서도
어떤 레벨에서? 다양한 레벨 가능 앱, 프록시 등.. 그치만 개발자는 앱에서는 원하지 않음
최소한의 유지관리로 원함 -> ingress

ingress 도 외부로 노출되어야 함 -> 노드포트나 로드밸런서..

ingress controller

-> 쿠버네티스는 인그레스 컨트롤러는 없음 -> 배포 해야함
gec nginx contour istio traefik
또다른 로드밸런서나 nginx서버가 아님

컨피그맵 만들어서 파드에 전달해야함 -> 한번만들면 수정하기 편함
pod name과 pod namespae 환경변수 추가해야함
nginx ingress 가 사용하는 포트 명시함
서비스를 노드포트로 만들어 배포함
서비스 어카운트로 롤과 롤바인등을 만들어야함

url에 따라 라우팅 함

/wear -> wear 서비스, /watch -> watch 서비스
wear.~ -> wear서비스 와 같은 형태로

ingress reoures

인그레스 config

rule을 만들어야함 도메인에 따라 rule 1, 2... 로 갈 수 있게끔

host와 url을 조합하여 서비스로 매핑 가능

변경점

Now, in k8s version 1.20+ we can create an Ingress resource from the imperative way like this:-

Format - kubectl create ingress --rule="host/path=service:port"

Example - kubectl create ingress ingress-test --rule="wear.my-online-store.com/wear*=wear-service:80"

Find more information and examples in the below reference link:-

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-ingress-em-

References:-

https://kubernetes.io/docs/concepts/services-networking/ingress

https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types

profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글