设置 K8 入口控制器时,此处记录
我无法通过“创建入口控制器”步骤在 Helm 命令步骤并将命令置于调试模式期间,我看到其中一个步骤超时:
预安装失败:等待条件超时
查看K8 POD日志后发现K8系统因为auth错误无法连接registry。出于安全原因,以下输出已被修改,但显示错误
Failed to pull image "myregistry.azurecr.io/jettech/kube-webhook-certgen:v1.5.1@sha256:...90bd8068": [rpc error: code = NotFound desc = failed to pull and unpack image "....azurecr.io/jettech/kube-webhook-certgen@sha256:....9b9e90bd8068": failed to resolve reference "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...190b1dcbcb9b9e90bd8068": ....azurecr.io/jettech/kube-webhook-certgen@sha256:...9b9e90bd8068: not found, rpc error: code = Unknown desc = failed to pull and unpack image "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...dcbcb9b9e90bd8068": failed to resolve reference "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...b9b9e90bd8068": failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized]
我已经根据“az acr import”命令验证了图像位于容器注册表中,并且如果我使用“kubectl”进行标准K8部署,k8能够连接到acr。我还使用以下命令验证了集群和注册表之间的连接,它按预期工作:
az aks check-acr -n <cluster> -g <rg> --acr <acr>
此故障仅在使用 helm 命令时发生。
编辑
在研究了更多之后,我发现了以下文章
看来摘要有问题。我在 helm 命令中添加/替换了以下内容:
--set controller.image.digest="sha256:e9fb216ace49dfa4a5983b183067e97496e7a8b307d2093f4278cd550c303899" \
--set controller.admissionWebhooks.patch.image.digest="sha256:950833e19ade18cd389d647efb88992a7cc077abedef343fa59e012d376d79b7" \
但是,在运行修改后的 helm 命令时,POD 处于错误状态,并出现以下错误
unknown flag: --controller-class
我尝试设置环境变量 CONTROLLER_TAG=v1.0.0,如文章中所述,但这无济于事
另一种解决方法是在命令中设置版本号:3.36.0。这是成功的,但需要降级的版本