尝试删除Kubernetes命名空间后,长时间停留在终止状态。
kubectl delete ns <namespacename>
Error from server (Conflict): Operation cannot be fulfilled on namespaces "<namespacename>": The system is ensuring all content is removed from this namespace. Upon completion, this namespace will automatically be purged by the system.
kubectl describe ns <namespacename>
Name: <namespacename>
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Namespace","metadata":{"annotations":{},"name":"<namespacename>","namespace":""}}
Status: Terminating
如果Kubernetes集群的服务配置了externalTrafficPolicy: Local,则只有部署了服务的后端Pod才能访问SLB地址。因为SLB地址是集群外使用,如果集群节点和Pod不能直接访问SLB地址,请求不会路由到负载均衡,而是被当作服务的扩展IP地址,被kube-proxy的iptables或IPVS转发。
如果集群节点或者Pod所在的节点上没有相应的后端服务Pod,就会发生网络不通的问题。而如果有相应的后端服务Pod,则可以正常访问SLB地址。更多信息,请参见iptables规则。
说明 推荐使用该方法。
将入口网关服务中的externalTrafficPolicy修改为Cluster,但是在应用中会丢失源IP。关于修改入口网关的更多信息,请参见修改入口网关服务。
apiVersion: istio.alibabacloud.com/v1beta1kind: IstioGatewaymetadata: name: ingressgateway namespace: istio-system ....spec: externalTrafficPolicy: Cluster....
将入口网关服务中的externalTrafficPolicy修改为Cluster,并且添加ENI直通的Annotation,例如serviceAnnotations: service.beta.kubernetes.io/backend-type:"eni"。关于修改入口网关的更多信息,请参见修改入口网关服务。
apiVersion: istio.alibabacloud.com/v1beta1kind: IstioGatewaymetadata: name: ingressgateway namespace: istio-system ....spec: externalTrafficPolicy: Cluster maxReplicas: 5 minReplicas: 2 ports: - name: status-port port: 15020 targetPort: 15020 - name: http2 port: 80 targetPort: 80 - name: https port: 443 targetPort: 443 - name: tls port: 15443 targetPort: 15443 replicaCount: 2 resources: limits: cpu: '2' memory: 2G requests: cpu: 200m memory: 256Mi runAsRoot: false serviceAnnotations: service.beta.kubernetes.io/backend-type: eni serviceType: LoadBalancer
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。