인프라&운영체제/Istio
[Istio] gateway tls 설정 방법
희랍인 조르바
2022. 1. 29. 15:01
gateway에 인증서를 설치해서 통신하도록 하는 설정 방법이다.
도메인에 맞는 인증서를 먼저 다운받아야한다.
1. 다운받은 인증서 파일 압축을 풀고 key와 crt를 쿠버네티스의 secret으로 등록해주어야한다.
(네임스페이스는 istio-system 아래 생성)
$ kubectl create -n istio-system secret tls {secret 이름} --key={인증서 key 파일명} --cert={인증서 crt 파일명}
아래는 예시. zorba.com이라는 도메인을 사용한다는 전제
$ kubectl create -n istio-system secret tls zorba-com-credential --key=STAR.zorba.com_key.pem --cert=STAR.zorba.com_crt.pem
생성한 secret 파일을 gateway에 적용.
credentialName에 생성한 secret 명을 기입하면 된다!
book-gateway.yaml
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: book-gateway
namespace: book # 원하는 네임스페이스로 지정
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "book-store.zorba.com"
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE # 통상적인 tls 모드입니다
credentialName: zorba-com-credential # 쿠버네티스 secret 명을 입력
hosts:
- "book-store.zorba.com"
그리고 적용.
$ kubectl apply -f book-gateway.yaml
참고했던 사이트