微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“ kubectl删除服务”处于“终止”状态

如何解决“ kubectl删除服务”处于“终止”状态

我正在尝试删除编写并部署到Azure Kubernetes Service的服务(以及与之伴随的必需的dask组件),并且当我运行kubectl delete -f my_manifest.yml时,我的服务将陷入“终止”状态。控制台告诉我它已被删除,但命令挂起:

> kubectl delete -f my-manifest.yaml
service "dask-scheduler" deleted
deployment.apps "dask-scheduler" deleted
deployment.apps "dask-worker" deleted
service "my-service" deleted
deployment.apps "my-deployment" deleted

我必须 Ctrl + C 此命令。当我检查我的服务时,dask已成功删除,但我的自定义服务尚未删除。如果我尝试手动删除它,同样会挂起/失败:

> kubectl get services
NAME                TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)                      AGE
kubernetes          ClusterIP      x.x.x.x      <none>        443/TCP                      18h
my-service          LoadBalancer   x.x.x.x      x.x.x.x       80:30786/TCP,443:31934/TCP   18h

> kubectl delete service my-service
service "my-service" deleted

This question说先删除窗格,但删除我所有的窗格(kubectl get pods不返回任何内容)。还有this closed K8s issue--wait=false可以解决前台级联删除的问题,但这是行不通的,而且似乎也不是问题所在(因为pod本身已经被删除了)。>

我假设我可以完全清除我的AKS集群并重新创建,但这是最后的选择。我不知道它是否相关,但是我的服务正在使用the azure-load-balancer-internal: "true" annotation作为该服务,并且我已经将一个Web应用程序部署到使用该服务的VNet中。

还有其他方法可以强制关闭此服务吗?

解决方法

由于@ 4c74356b41建议查看kubectl describe service my-service(出于某种原因我没有考虑),我看到了以下警告:

Code =“ LinkedAuthorizationFailed”消息=“具有对象ID'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'的客户端'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'有权执行操作'Microsoft.Network/loadBalancers/在范围'/subscriptions//resourceGroups//providers/Microsoft.Network/loadBalancers/kubernetes-internal'上写入';但是,它无权执行操作'Microsoft.Network/virtualNetworks/subnets/链接作用域“ / subscriptions / / resourceGroups / /providers/Microsoft.Network/virtualNetworks/ / subnets / ”或链接作用域上的“ join / action”无效。

(客户端ID和对象ID GUID的值相同。)

这表明这不完全是Kubernetes的问题,而是Azure生态系统中的权限。我浏览了该门户网站,但在我的任何用户,组或应用程序中都找不到该GUID,因此我不确定它指的是什么。但是,我将此客户端ID授予了Owner角色,几分钟后,该服务被删除了。

az role assignment create `
    --role Owner `
    --assignee xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。