Infra/Kubernets
kubernets(쿠버네티스) ingress
Box
2021. 11. 2. 16:53
728x90
Ingrss
- 인그레스는 하나의 ip나 도메인으로 다수의 서비스 제공
- Kind
- Prefix :일치해야됨
- Exact: 모든게 일치해야된다
프라이빗환경에 ingress 설치
- git clone https://github.com/kubernetes/ingress-nginx/
- kubectl apply -k `pwd`/ingress-nginx/deploy/static/provider/baremetal/
- kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io ingress-nginx-admission
ingress Yaml 파일 예제
- certificate
- # TLS 인증서 생성
- openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -out gasbugs-tls.crt \ -keyout gasbugs-tls.key \ -subj "/CN=ingress-tls"
- # tls 인증서를 통해 secret을 구성
- kubectl create secret tls gasbugs-tls \ --namespace default \ --key gasbugs-tls.key \ --cert gasbugs-tls.crt
- annotations
- nginx.ingress.kubernets.io/ssl-redirect : "true"
- 80으로 들어왔을때 443으로 리다이렉션 시켜주는 역할
- nginx.ingress.kubernets.io/ssl-redirect : "true"
- # TLS 인증서 생성
접속 테스트
- curl <http://호스트:ingress-nginx 의 svc에 ingress-nginx-controller 의 포트부분> -kv --resolve <호스트:ingress-nginx 의 svc에 ingress-nginx-controller 의 포트부분>:127.0.0.1
- curl <https://호스트:ingress-nginx 의 svc에 ingress-nginx-controller 의 포트부분> -kv --resolve <호스트:ingress-nginx 의 svc에 ingress-nginx-controller 의 포트부분>:127.0.0.1