728x90
반응형
Ingress
개념
- 클러스터 외부에서 안으로 접근하는 요청들을 어떻게 처리할지 정의해둔 규칙
- 인그레스는 규칙들의 모음이며 실제로는 인그레스 컨트롤러가 동작시킨다.
설정
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /foos1
pathType: Prefix
backend:
service:
name: s1
port:
number: 80
- path: /bars2
pathType: Prefix
backend:
service:
name: s2
port:
number: 80
- host: bar.foo.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: s2
port:
number: 80
annotation 은 인그레스 컨트롤러마다 다르다. (https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/)
ingress version 차이
1.18
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: test-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - http: paths: - path: /testpath pathType: Prefix backend: serviceName: test servicePort: 80
1.19
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: minimal-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - http: paths: - path: /testpath pathType: Prefix backend: service: name: test port: number: 80
SSL 설정
- tls 생성
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=kube-book.com" Can't load /root/.rnd into RNG 140377540018624:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/root/.rnd Generating a RSA private key ........................+++++ ........+++++ writing new private key to 'tls.key'
- tls secret 생성
kubectl create secret tls kube-book-secret --key tls.key --cert tls.crt
- .spec.tls 설정
spec: tls: - hosts: - kube-boo.com secretName: kube-book-secret
무중단 배포시 주의 할점
- maxSurge 와 maxUnavailable 설정
- maxSurge : 디플로이먼트에 기본 pod 개수에 여분의 파드를 몇개 추가 할수 있는지 설정
- maxUnavailable : 디플로이먼트 업데이트시 사용할수 없는 파드 개수
- readinessProbe 확인
- 실제 서비스 요청 처리할 준비가 되었는지 진단
- 설정 불가능할 경우 .spec.minReadySeconds 설정. 해당 설정 기간동은 트래픽을 받지 않지만 그 이후에는 받는다.
- graceful 종료
- 기존 받은 요청만 처리하고 새 요청은 받지 않는다
- 설정 불가능 할 경우 hock 을 설정한다.
출처 : 쿠버네티스 입문 - 90가지 예제로 배우는 컨테이너 관리자 자동화 표준 (동양북스)
728x90
반응형
'Development > Docker&Kubernetes' 카테고리의 다른 글
쿠버네티스 입문 9장 레이블&애너테이션 (0) | 2020.12.30 |
---|---|
쿠버네티스 입문 10장 컨피그맵 (0) | 2020.12.30 |
쿠버네티스 입문 - 7장 서비스 (0) | 2020.12.30 |
쿠버네티스 입문 - 6장 컨트롤러 (0) | 2020.12.30 |
쿠버네티스 입문 - 5장 파드 (0) | 2020.12.23 |