我正在Kubernetes上部署基于Socket.IO和NodeJs的应用程序。我发现通过以下服务配置,我可以非常轻松地保持客户端粘性,
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-service
labels:
app: my-service
spec:
replicas: 3
template:
metadata:
labels:
app: my-service
spec:
containers:
- image: gcr.io/app_name/my-service:latest
imagePullPolicy: Always
name: my-service
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: my-service
annotations:
traefik.backend.loadbalancer.stickiness: "true"
labels:
app: my-service
spec:
type: LoadBalancer
sessionAffinity: "ClientIP"
ports:
- name: my-service
port: 80
protocol: TCP
targetPort: 4000
selector:
app: my-service
现在,我坚持添加 SSL证书。我无法获得文档或资源来为类型 LoadBalancer 的服务添加 SSL证书。可能吗?如果是的话,我该怎么点呢?
如果根本不可能,还有其他方法吗?我在GCP上使用GKE。 谁能帮我这个?谢谢。
答案 0 :(得分:1)
当您在注解中提及traefik时,看起来有点怪异。尽管如此,在这种情况下仍然几乎不可能管理证书≥必须在云提供商级别基于注释来支持,因为没有明确的方法将tls证书与特定服务/端口绑定,更不用说像cert-manager这样的自动证书了/ ingress。
要实现这一点,您应该使用某种API网关/入口控制器,该API网关/入口控制器可以为您处理该问题,而不是直接公开您的服务,或者在您的应用程序中实现TLS支持。