Kubernetes-SSL Docker Node.js

时间:2018-11-20 03:35:45

标签: node.js docker kubernetes google-compute-engine google-kubernetes-engine

我是K8s的新手,这是我第一次尝试掌握它。我正在尝试使用此deployment.yml

设置基本的Nodejs Express API
kind: Service
apiVersion: v1
metadata:
  name: ${GCP_PROJECT_NAME}
spec:
  selector:
    app: ${GCP_PROJECT_NAME}
  ports:
    - protocol: TCP
      port: 80
      targetPort: 3000
  type: LoadBalancer
  loadBalancerIP: ${STATIC_IP_ADDRESS}
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: ${GCP_PROJECT_NAME}
  labels:
    app: ${GCP_PROJECT_NAME}
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ${GCP_PROJECT_NAME}
  template:
    metadata:
      labels:
        app: ${GCP_PROJECT_NAME}
    spec:
      containers:
        - name: ${GCP_PROJECT_NAME}
          image: gcr.io/${GCP_PROJECT_ID}/${GCP_PROJECT_NAME}:${CIRCLE_SHA1}
          ports:
            - name: http
              containerPort: 3000
              protocol: TCP
          env:
            - name: MONGO_URL_PROD
              value: $MONGO_URL_PROD

在此设置下,一切都很好,并可以部署到Kubernetes。当我按预期到达端点http://123.345.333.123时,没有SSL。

我生成了SSL证书,并尝试按照本教程[https://vorozhko.net/kubernetes-sidecar-pattern-nginx-ssl-proxy-for-nodejs]进行操作,但我无法这样做。谁能指出我的方向正确,我做错了什么或我错过了什么?

2 个答案:

答案 0 :(得分:1)

您可以使用nginx入口控制器来处理所有SSL设置和使用。以下是逐步操作指南:

https://dgkanatsios.com/2017/07/07/using-ssl-for-a-service-hosted-on-a-kubernetes-cluster/

希望这会有所帮助。

答案 1 :(得分:0)

这种方法对我没有用。 Ingress无法获取群集IP,它显示<none>