인프라&운영체제/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

 

참고했던 사이트