Ubuntu で Kubernetes 三昧その6(clusterrole, serviceaccount, Deployment)の続きです。
このコマンドを実行します。
コントロールプレーンです。
@controlplane1:~/kubernetes-examples$ kubectl apply -f daemonset/nginx.yaml
daemonset.apps/nginx-deployment created
ここで、ちょっとしたことに気づきました。どうやら、コントロールプレーンがうまく動いていないようです。
@masternode1:~$ kubectl describe node masternode1
Name: masternode1
Roles: control-plane
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/arch=amd64
kubernetes.io/hostname=masternode1
kubernetes.io/os=linux
node-role.kubernetes.io/control-plane=
node.kubernetes.io/exclude-from-external-load-balancers=
Annotations: kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.sock
node.alpha.kubernetes.io/ttl: 0
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Sat, 21 Jun 2025 18:27:56 +0900
Taints: node.kubernetes.io/unreachable:NoExecute
node-role.kubernetes.io/control-plane:NoSchedule
node.kubernetes.io/unreachable:NoSchedule
Unschedulable: false
Lease:
HolderIdentity: masternode1
AcquireTime: <unset>
RenewTime: Mon, 23 Jun 2025 09:04:56 +0900
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
NetworkUnavailable False Sun, 22 Jun 2025 10:55:10 +0900 Sun, 22 Jun 2025 10:55:10 +0900 WeaveIsUp Weave pod has set this
MemoryPressure Unknown Mon, 23 Jun 2025 09:04:23 +0900 Mon, 23 Jun 2025 09:08:32 +0900 NodeStatusUnknown Kubelet stopped posting node status.
DiskPressure Unknown Mon, 23 Jun 2025 09:04:23 +0900 Mon, 23 Jun 2025 09:08:32 +0900 NodeStatusUnknown Kubelet stopped posting node status.
PIDPressure Unknown Mon, 23 Jun 2025 09:04:23 +0900 Mon, 23 Jun 2025 09:08:32 +0900 NodeStatusUnknown Kubelet stopped posting node status.
Ready Unknown Mon, 23 Jun 2025 09:04:23 +0900 Mon, 23 Jun 2025 09:08:32 +0900 NodeStatusUnknown Kubelet stopped posting node status.
Addresses:
InternalIP: 10.0.2.15
Hostname: masternode1
Capacity:
cpu: 4
ephemeral-storage: 25623780Ki
hugepages-2Mi: 0
memory: 4008868Ki
pods: 110
Allocatable:
cpu: 4
ephemeral-storage: 23614875609
hugepages-2Mi: 0
memory: 3906468Ki
pods: 110
System Info:
Machine ID: 43cd959a38a540419cbe1905a9d4bea1
System UUID: 30f05dee-44f6-0a4d-ae10-65bf368cb4c2
Boot ID: 66a21590-cc21-4214-94b7-0e5e01adf03d
Kernel Version: 6.11.0-26-generic
OS Image: Ubuntu 24.04.2 LTS
Operating System: linux
Architecture: amd64
Container Runtime Version: containerd://2.1.3
Kubelet Version: v1.33.2
Kube-Proxy Version:
Non-terminated Pods: (6 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits Age
--------- ---- ------------ ---------- --------------- ------------- ---
kube-system etcd-masternode1 100m (2%) 0 (0%) 100Mi (2%) 0 (0%) 2d
kube-system kube-apiserver-masternode1 250m (6%) 0 (0%) 0 (0%) 0 (0%) 2d
kube-system kube-controller-manager-masternode1 200m (5%) 0 (0%) 0 (0%) 0 (0%) 2d
kube-system kube-proxy-km2s7 0 (0%) 0 (0%) 0 (0%) 0 (0%) 2d
kube-system kube-scheduler-masternode1 100m (2%) 0 (0%) 0 (0%) 0 (0%) 2d
kube-system weave-net-v2fhz 100m (2%) 0 (0%) 0 (0%) 0 (0%) 31h
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 750m (18%) 0 (0%)
memory 100Mi (2%) 0 (0%)
ephemeral-storage 0 (0%) 0 (0%)
hugepages-2Mi 0 (0%) 0 (0%)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal RegisteredNode 11m node-controller Node masternode1 event: Registered Node masternode1 in Controller
kubelet は立ち上がっているものの、ホスト名を controlplane1 に変更したのが原因で、不具合が発生しているようでした。
名前を、masternode1 に戻し、kubelete をリスタートしました。
事象は解消しました。
それでは、Daemonsetを確認します。名前が deployment となっていて紛らわしいですが。
@masternode1:~$ kubectl get daemonsets -o wide
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE CONTAINERS IMAGES SELECTOR
nginx-deployment 1 1 1 1 1 <none> 34m nginxdeployment nginx:latest app=nginxdeployment
@masternode1:~$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-deployment-t2xbx 1/1 Running 1 (32m ago) 38m 10.32.0.4 workernode1 <none> <none>
@masternode1:~$ kubectl describe pod nginx-deployment-t2xbx
Name: nginx-deployment-t2xbx
Namespace: default
Priority: 0
Service Account: default
Node: workernode1/10.0.2.7
...(snip)...
DaemonSet は workernode1 にだけ作成されていて、コントロールプレーンノードに作成されないのは、ノードを保護するための Taint が原因であり、正常な動作です。
Ubuntu で Kubernetes 三昧その 8(Statefulset)につづく。
参考: