我正在尝试更新我的部署的image。为此,我正在执行kubectl edit deployment web,并将spec.template.spec.containers.image属性更改为:
gcr.io/my-project-id-1234/app:v1至:
gcr.io/my-project-id-1234/app:v2从日志中,我知道部署更新得很好。我遇到的问题是TLS入口;以下是我的配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: tls-ingress
spec:
tls:
- secretName: tls-secrets
backend:
serviceName: web
servicePort: 80以下是更新之前的kubectl describe ing web的结果:
$ kubectl describe ing
Name: tls-ingress
Namespace: default
Address: 105.78.154.212
Default backend: web:80 (10.0.2.3:8000)
TLS:
tls-secrets terminates
Rules:
Host Path Backends
---- ---- --------
Annotations:
backends: {"k8s-be-32171":"HEALTHY"}
forwarding-rule: k8s-fw-default-tls-ingress
https-forwarding-rule: k8s-fws-default-tls-ingress
https-target-proxy: k8s-tps-default-tls-ingress
static-ip: k8s-fw-default-tls-ingress
target-proxy: k8s-tp-default-tls-ingress
url-map: k8s-um-default-tls-ingress在更新之前,一切都正常工作。但很快,流量就被成功地路由到了我的集群。描述入口现在返回:
Name: tls-ingress
Namespace: default
Address: 105.78.154.212
Default backend: web:80 (10.0.2.3:8000)
TLS:
tls-secrets terminates
Rules:
Host Path Backends
---- ---- --------
Annotations:
static-ip: k8s-fw-default-tls-ingress
target-proxy: k8s-tp-default-tls-ingress
url-map: k8s-um-default-tls-ingress
backends: {"k8s-be-32171":"UNHEALTHY"}
forwarding-rule: k8s-fw-default-tls-ingress
https-forwarding-rule: k8s-fws-default-tls-ingress
https-target-proxy: k8s-tps-default-tls-ingress在像这样更新我的部署时,我如何正确地更新“侵入”呢?
发布于 2016-05-09 17:57:30
攻题指的是服务。服务指向一组有一些标签的Pods。部署定义了Pods上的那些标签。下面是要排除哪些故障的列表:
NodePort形式公开的。否则,来自Google的外部负载均衡器将无法到达您的集群内。200状态代码响应GET /是很重要的。发布于 2016-05-09 17:54:22
入口报告{“K8s-be-32171”:“不健康”},表示后端服务上的健康检查失败。
确保应用程序吊舱已启动并运行,请使用
kubectl get pods <pod-name>
和
kubectl get deployment <deplyment-name>
如果应用程序荚已经准备好并运行,入口应该自动连接到新的豆荚,但它可能需要一段时间取决于健康检查参数。
https://serverfault.com/questions/775673
复制相似问题