【发布时间】:2020-01-03 23:34:19
【问题描述】:
我使用以下命令在 GKE 中创建了一个 3 节点集群
gcloud container clusters create kubia --num-nodes 3 --machine-type=f1-micro
三个节点的状态都是NotReady。当我使用kubectl describe <node> 检查节点时,我得到以下输出:
λ kubectl describe node gke-kubia-default-pool-c324a5d8-2m14
Name: gke-kubia-default-pool-c324a5d8-2m14
Roles: <none>
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/fluentd-ds-ready=true
beta.kubernetes.io/instance-type=f1-micro
beta.kubernetes.io/os=linux
cloud.google.com/gke-nodepool=default-pool
cloud.google.com/gke-os-distribution=cos
failure-domain.beta.kubernetes.io/region=asia-south1
failure-domain.beta.kubernetes.io/zone=asia-south1-a
kubernetes.io/hostname=gke-kubia-default-pool-c324a5d8-2m14
Annotations: container.googleapis.com/instance_id: 1338348980238562031
node.alpha.kubernetes.io/ttl: 0
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Thu, 02 Jan 2020 11:52:25 +0530
Taints: node.kubernetes.io/unreachable:NoSchedule
Unschedulable: false
Conditions:
Type Status LastHeartbeatTime LastTransitionTime
Reason Message
---- ------ ----------------- ------------------
------ -------
KernelDeadlock False Thu, 02 Jan 2020 11:52:30 +0530 Thu, 02 Jan 2020 11:52:29 +0530 KernelHasNoDeadlock kernel has no deadlock
ReadonlyFilesystem False Thu, 02 Jan 2020 11:52:30 +0530 Thu, 02 Jan 2020 11:52:29 +0530 FilesystemIsNotReadOnly Filesystem is not read-only
CorruptDockerOverlay2 False Thu, 02 Jan 2020 11:52:30 +0530 Thu, 02 Jan 2020 11:52:29 +0530 NoCorruptDockerOverlay2 docker overlay2 is functioning properly
FrequentUnregisterNetDevice False Thu, 02 Jan 2020 11:52:30 +0530 Thu, 02 Jan 2020 11:52:29 +0530 NoFrequentUnregisterNetDevice node is functioning properly
FrequentKubeletRestart False Thu, 02 Jan 2020 11:52:30 +0530 Thu, 02 Jan 2020 11:52:29 +0530 NoFrequentKubeletRestart kubelet is functioning properly
FrequentDockerRestart False Thu, 02 Jan 2020 11:52:30 +0530 Thu, 02 Jan 2020 11:52:29 +0530 NoFrequentDockerRestart docker is functioning properly
FrequentContainerdRestart False Thu, 02 Jan 2020 11:52:30 +0530 Thu, 02 Jan 2020 11:52:29 +0530 NoFrequentContainerdRestart containerd is functioning properly
NetworkUnavailable False Thu, 02 Jan 2020 11:52:31 +0530 Thu, 02 Jan 2020 11:52:31 +0530 RouteCreated RouteController created a route
MemoryPressure Unknown Thu, 02 Jan 2020 11:52:52 +0530 Thu, 02 Jan 2020 11:53:38 +0530 NodeStatusUnknown Kubelet stopped posting node status.
DiskPressure Unknown Thu, 02 Jan 2020 11:52:52 +0530 Thu, 02 Jan 2020 11:53:38 +0530 NodeStatusUnknown Kubelet stopped posting node status.
PIDPressure Unknown Thu, 02 Jan 2020 11:52:52 +0530 Thu, 02 Jan 2020 11:53:38 +0530 NodeStatusUnknown Kubelet stopped posting node status.
Ready Unknown Thu, 02 Jan 2020 11:52:52 +0530 Thu, 02 Jan 2020 11:53:38 +0530 NodeStatusUnknown Kubelet stopped posting node status.
OutOfDisk Unknown Thu, 02 Jan 2020 11:52:25 +0530 Thu, 02 Jan 2020 11:53:38 +0530 NodeStatusNeverUpdated Kubelet never posted node status.
Addresses:
InternalIP: 10.160.0.34
ExternalIP: 34.93.231.83
InternalDNS: gke-kubia-default-pool-c324a5d8-2m14.asia-south1-a.c.k8s-demo-263903.internal
Hostname: gke-kubia-default-pool-c324a5d8-2m14.asia-south1-a.c.k8s-demo-263903.internal
Capacity:
attachable-volumes-gce-pd: 15
cpu: 1
ephemeral-storage: 98868448Ki
hugepages-2Mi: 0
memory: 600420Ki
pods: 110
Allocatable:
attachable-volumes-gce-pd: 15
cpu: 940m
ephemeral-storage: 47093746742
hugepages-2Mi: 0
memory: 236900Ki
pods: 110
System Info:
Machine ID: 7231bcf8072c0dbd23802d0bf5644676
System UUID: 7231BCF8-072C-0DBD-2380-2D0BF5644676
Boot ID: 819fa587-bd7d-4909-ab40-86b3225f201e
Kernel Version: 4.14.138+
OS Image: Container-Optimized OS from Google
Operating System: linux
Architecture: amd64
Container Runtime Version: docker://18.9.7
Kubelet Version: v1.13.11-gke.14
Kube-Proxy Version: v1.13.11-gke.14
PodCIDR: 10.12.3.0/24
ProviderID: gce://k8s-demo-263903/asia-south1-a/gke-kubia-default-pool-c324a5d8-2m14
Non-terminated Pods: (7 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
default kubia-4hbfv 100m (10%) 0 (0%)
0 (0%) 0 (0%) 27m
kube-system event-exporter-v0.2.4-5f88c66fb7-6kh96 0 (0%) 0 (0%)
0 (0%) 0 (0%) 27m
kube-system fluentd-gcp-scaler-59b7b75cd7-8fhkt 0 (0%) 0 (0%)
0 (0%) 0 (0%) 27m
kube-system fluentd-gcp-v3.2.0-796rf 100m (10%) 1 (106%) 200Mi (86%) 500Mi (216%) 28m
kube-system kube-dns-autoscaler-bb58c6784-nkz8g 20m (2%) 0 (0%)
10Mi (4%) 0 (0%) 27m
kube-system kube-proxy-gke-kubia-default-pool-c324a5d8-2m14 100m (10%) 0 (0%)
0 (0%) 0 (0%) 28m
kube-system prometheus-to-sd-qw7sm 1m (0%) 3m (0%) 20Mi (8%) 20Mi (8%) 28m
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 321m (34%) 1003m (106%)
memory 230Mi (99%) 520Mi (224%)
ephemeral-storage 0 (0%) 0 (0%)
attachable-volumes-gce-pd 0 0
Events:
Type Reason Age From
Message
---- ------ ---- ----
-------
Normal Starting 43m kubelet, gke-kubia-default-pool-c324a5d8-2m14
Starting kubelet.
Normal NodeHasSufficientMemory 43m (x2 over 43m) kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeHasSufficientMemory
Normal NodeHasNoDiskPressure 43m (x2 over 43m) kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeHasNoDiskPressure
Normal NodeHasSufficientPID 43m (x2 over 43m) kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeHasSufficientPID
Normal NodeAllocatableEnforced 43m kubelet, gke-kubia-default-pool-c324a5d8-2m14
Updated Node Allocatable limit across pods
Normal NodeReady 43m kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeReady
Normal Starting 42m kube-proxy, gke-kubia-default-pool-c324a5d8-2m14 Starting kube-proxy.
Normal Starting 28m kubelet, gke-kubia-default-pool-c324a5d8-2m14
Starting kubelet.
Normal NodeHasSufficientMemory 28m (x2 over 28m) kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeHasSufficientMemory
Normal NodeHasNoDiskPressure 28m (x2 over 28m) kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeHasNoDiskPressure
Normal NodeHasSufficientPID 28m (x2 over 28m) kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeHasSufficientPID
Normal NodeAllocatableEnforced 28m kubelet, gke-kubia-default-pool-c324a5d8-2m14
Updated Node Allocatable limit across pods
Normal NodeReady 28m kubelet, gke-kubia-default-pool-c324a5d8-2m14
Node gke-kubia-default-pool-c324a5d8-2m14 status is now: NodeReady
Normal Starting 28m kube-proxy, gke-kubia-default-pool-c324a5d8-2m14 Starting kube-proxy.
我哪里出错了?我可以使用 kubectl run kubia-3 --image=luksa/kubia --port=8080 --generator=run/v1 命令创建 pod。
【问题讨论】:
-
节点不可达。您可以看到当节点无法访问或节点上的 kubelet 未运行时添加的 taint
Taints: node.kubernetes.io/unreachable:NoSchedule。检查节点是否已启动,如果已启动,请检查 kubelet 日志。 -
如何查看节点是否启动并查看kubelet日志?我是 Kubernetes 新手
-
你可以ping节点IP看看它是否已经启动。如果它启动了,您可以 SSH 进入节点并检查 kubelet 日志 - stackoverflow.com/questions/34113476/…
-
我认为可能很难找到问题,我看到
NodeStatusUnknown和NodeStatusNeverUpdated,但我不知道是什么导致了问题。我会从谷歌门户创建一个集群,然后使用Equivalent REST or command line获取命令以供以后使用。 -
创建一个以微机为节点的k8s集群,你就错了。
标签: kubernetes google-kubernetes-engine