1.9.3. 예: 애플리케이션 노출 및 연결 보안
이 예에서는 클러스터에서 실행 중인 웹 애플리케이션에 외부 사용자가 액세스해야 합니다.
서비스를 생성하고 필요에 맞는 서비스 유형을 사용하여 애플리케이션을 서비스로 노출합니다.
apiVersion: v1 kind: Service metadata: name: my-web-app spec: type: LoadBalancer selector: app: my-web-app ports: - port: 80 targetPort: 8080HTTP/HTTPS 트래픽을 관리하고 이를 서비스로 라우팅하도록
Ingress리소스를 정의합니다.apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-web-app-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: mywebapp.example.com http: paths: - path: / pathType: Prefix backend: service: name: my-web-app port: number: 80안전하고 암호화된 연결을 보장하도록 수신에 대해 TLS를 구성합니다.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-web-app-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: tls: - hosts: - mywebapp.example.com secretName: my-tls-secret rules: - host: mywebapp.example.com http: paths: - path: / pathType: Prefix backend: service: name: my-web-app port: number: 80