Backend/Docker, Kubernetes

ingress https 설정

findmypiece 2021. 9. 2. 01:14
728x90

일단 클러스터가 연결되어 kubectl 로 조작이 가능한 상황이어야 한다.

 

  1. 다운로드 받은 인증서로 secret 생성

일반적으로 tls 인증서 관련 압축파일을 다운로드 받아서 압축을 풀면 key 파일과 cert 파일이 있을 것이다. 그 경로로 이동해서 아래와 같은 명령어로 secret 을 생성한다.

kubectl create secret tls ${secret_name} --key={tls_key_file_name} --cert=${tls_cert_file_name} -n ${namespace}

 

  1. Ingress 에 https 적용
metadata:
  annotations:
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true" #http 로 접근하더라도 자동으로 https 로 리다이렉트
spec:
  tls:
    - secretName: ${secret_name}
      hosts:
        - ${domain_name}

 

  1. 인증서 갱신
kubectl create secret tls ${secret_name} --key=${tls_key_file_name} --cert=${tls_cert_file_name} -n ${namespace} --dry-run=client -o yaml | kubectl apply -f-

--dry-run -o yaml 옵션에 의해 생성된 오브젝트 구성을 클러스터에 적용하지 않고 YAML 형식으로 stdout에 출력하고 kubectl apply -f- 파이프라인에 의해 위에서 출력하는 내용을 stdin 으로 제공받아 클러스터에 적용한다.

728x90