我正在尝试使用以下命令来升级并安装发行版,以防以前未安装发行版:
helm upgrade --install --debug test-runtime .bob/test/test-0.0.1-ha27775e.tgz --namespace=default -f values.yaml --wait --timeout 900
[debug] Created tunnel using local port: '41771'
[debug] SERVER: "127.0.0.1:41771"
Release "test-runtime" does not exist. Installing it now.
[debug] CHART PATH: /home/test/test-0.0.1-ha27775e.tgz
但是它挂了。该版本已安装,但似乎舵正在等待其他事情。所有部署均已就绪,没有任何阻碍升级的事情。问题似乎出在我的入口上(因为我正在执行升级,因此先前的安装已经部署了该入口,但是升级正在更改已部署的docker映像,而不是入口本身)。
如果我从头盔包中移除入口,它将起作用。所以我的问题是:为什么我要面对这个问题?入口似乎也已部署:
kubectl describe ingress test-ingress
Name: test-ingress
Namespace: default
Address:
Default backend: default-http-backend:80 (<none>)
TLS:
testelglsv1secret terminates test.rose044.rnd.gic.example.se
Rules:
Host Path Backends
---- ---- --------
test.rose044.rnd.gic.example.se
/test test-service:8080 (192.168.177.211:8080,192.168.52.175:8080)
Annotations:
example.com/product-revision: R1B
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/auth-tls-secret: default/testtruststore
nginx.ingress.kubernetes.io/auth-tls-verify-client: on
nginx.ingress.kubernetes.io/auth-tls-verify-depth: 3
example.com/product-name: test
example.com/product-number: CXC 201 1390
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 2m32s nginx-ingress-controller Ingress default/test-ingress
Normal CREATE 2m32s nginx-ingress-controller Ingress default/test-ingress
要注意,此命令直到今天仍能正常工作,老实说,我不知道其间发生了什么。
这里是我的掌舵版本:
helm version
Client: &version.Version{SemVer:"v2.14.2", GitCommit:"a8b13cc5ab6a7dbef0a58f5061bcc7c0c61598e7", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.15.1", GitCommit:"bf1a9adb587795da9a165ef411c3b6e1eeca6ffe", GitTreeState:"clean"}
一旦我重新启动了K8s集群,问题就消失了。