Google 容器引擎自动删除 services/pods
Google Container Engine Auto deleting services/pods
我正在测试 goolge 容器引擎,一切都很好,直到我发现这个非常奇怪的问题。
bash-3.2# kubectl get services --namespace=es
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
elasticsearch-logging 10.67.244.176 <none> 9200/TCP name=elasticsearch-logging 5m
bash-3.2# kubectl describe service elasticsearch-logging --namespace=es
Name: elasticsearch-logging
Namespace: es
Labels: k8s-app=elasticsearch-logging,kubernetes.io/cluster-service=true,kubernetes.io/name=Elasticsearch
Selector: name=elasticsearch-logging
Type: ClusterIP
IP: 10.67.248.242
Port: <unnamed> 9200/TCP
Endpoints: <none>
Session Affinity: None
No events.
恰好 5 分钟后,该服务被自动删除。
kubectl get events --namespace=es
1m 1m 1 elasticsearch-logging Service DeletingLoadBalancer {service-controller } Deleting load balancer
1m 1m 1 elasticsearch-logging Service DeletedLoadBalancer {service-controller } Deleted load balancer
有人知道为什么吗?谢谢。
标签 kubernetes.io/cluster-service=true
是一个特殊的保留标签,不应由用户资源使用。它由管理集群插件的系统进程使用,例如您将在集群的 kube-system
命名空间中看到的 DNS 和 kube-ui pods。
您的服务被删除的原因是因为系统进程正在检查具有该标签的资源,看到它不知道的资源,并假设它是它之前启动的,而不是为了存在了。这在 this doc about cluster addons.
中有更多解释
一般来说,您的资源上不应有任何以 kubernetes.io/ 为前缀的标签,因为那是保留的命名空间。
从 yaml 文件的 metadata/labels 中删除以下内容后,问题就消失了。
**kubernetes.io/cluster-service: "true"
kubernetes.io/name: "Elasticsearch"**
我正在测试 goolge 容器引擎,一切都很好,直到我发现这个非常奇怪的问题。
bash-3.2# kubectl get services --namespace=es
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
elasticsearch-logging 10.67.244.176 <none> 9200/TCP name=elasticsearch-logging 5m
bash-3.2# kubectl describe service elasticsearch-logging --namespace=es
Name: elasticsearch-logging
Namespace: es
Labels: k8s-app=elasticsearch-logging,kubernetes.io/cluster-service=true,kubernetes.io/name=Elasticsearch
Selector: name=elasticsearch-logging
Type: ClusterIP
IP: 10.67.248.242
Port: <unnamed> 9200/TCP
Endpoints: <none>
Session Affinity: None
No events.
恰好 5 分钟后,该服务被自动删除。
kubectl get events --namespace=es
1m 1m 1 elasticsearch-logging Service DeletingLoadBalancer {service-controller } Deleting load balancer
1m 1m 1 elasticsearch-logging Service DeletedLoadBalancer {service-controller } Deleted load balancer
有人知道为什么吗?谢谢。
标签 kubernetes.io/cluster-service=true
是一个特殊的保留标签,不应由用户资源使用。它由管理集群插件的系统进程使用,例如您将在集群的 kube-system
命名空间中看到的 DNS 和 kube-ui pods。
您的服务被删除的原因是因为系统进程正在检查具有该标签的资源,看到它不知道的资源,并假设它是它之前启动的,而不是为了存在了。这在 this doc about cluster addons.
中有更多解释一般来说,您的资源上不应有任何以 kubernetes.io/ 为前缀的标签,因为那是保留的命名空间。
从 yaml 文件的 metadata/labels 中删除以下内容后,问题就消失了。
**kubernetes.io/cluster-service: "true"
kubernetes.io/name: "Elasticsearch"**