当前,我在Kubernetes群集上具有此负载均衡器服务。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP [HIDDEN] <none> 443/TCP 44h
load-balancer LoadBalancer [HIDDEN] [HIDDEN] 443:30014/TCP 39h
这是我的.yaml文件配置
apiVersion: v1
kind: Service
metadata:
name: load-balancer
spec:
selector:
app: nodeapp
type: LoadBalancer
ports:
- protocol: TCP
port: 443
targetPort: 3000
name: https
由于某种原因,DigitalOcean如果将HTTPS保留为TCP 443,则不会设置HTTPS。然后,我必须手动转到DigitalOcean,将TCP更改为HTTPS,然后创建加密证书。如何让Kubernetes使用HTTPS而不是TCP 443在端口443上创建负载均衡器。
答案 0 :(得分:0)
根据他们的documentation,您需要添加其他注释,例如:
---
kind: Service
apiVersion: v1
metadata:
name: https-with-cert
annotations:
service.beta.kubernetes.io/do-loadbalancer-protocol: "http"
service.beta.kubernetes.io/do-loadbalancer-algorithm: "round_robin"
service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
service.beta.kubernetes.io/do-loadbalancer-certificate-id: "your-certificate-id"
spec:
type: LoadBalancer
selector:
app: nginx-example
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
- name: https
protocol: TCP
port: 443
targetPort: 80
如何添加SSL证书:https://www.digitalocean.com/docs/networking/load-balancers/how-to/custom-ssl-cert/
答案 1 :(得分:0)
类型为“负载平衡器”的服务将创建仅知道IP和端口的第4层类型LB(网络LB)。
您将需要知道应用程序的第7层LB(应用程序LB)。
因此,要启用HTTPS,您将需要通过入口进行管理。