kubernetes-the-hard-way-aws icon indicating copy to clipboard operation
kubernetes-the-hard-way-aws copied to clipboard

Add --hostname-override flag for kubelet.service

Open rudolphjacksonm opened this issue 5 years ago • 0 comments

I ran through this document alongside Kelsey Hightower's kubernetes-the-hard-way and ran into the following:

May 24 11:02:10 ip-10-240-0-21 kubelet[19716]: I0524 11:02:10.328531   19716 kubelet_node_status.go:82] Attempting to register node ip-10-240-0-21
May 24 11:02:10 ip-10-240-0-21 kubelet[19716]: E0524 11:02:10.330172   19716 kubelet_node_status.go:106] Unable to register node "ip-10-240-0-21" with API server: nodes "ip-10-240-0-21" is forbidden: node "worker-1" cannot modify node "ip-10-240-0-21"

This was due to the kubelet.service unit file not including the --hostname-override argument for kubelet. Once I added this the worker node was immediately able to join the cluster.

[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=cri-containerd.service
Requires=cri-containerd.service

[Service]
ExecStart=/usr/local/bin/kubelet \
  --allow-privileged=true \
  --anonymous-auth=false \
  --authorization-mode=Webhook \
  --client-ca-file=/var/lib/kubernetes/ca.pem \
  --cloud-provider= \
  --cluster-dns=10.32.0.10 \
  --cluster-domain=cluster.local \
  --container-runtime=remote \
  --container-runtime-endpoint=unix:///var/run/cri-containerd.sock \
  --image-pull-progress-deadline=2m \
  --kubeconfig=/var/lib/kubelet/kubeconfig \
  --hostname-override=worker-0 \
  --network-plugin=cni \
  --pod-cidr=10.200.0.0/24 \
  --register-node=true \
  --runtime-request-timeout=15m \
  --tls-cert-file=/var/lib/kubelet/worker-0.pem \
  --tls-private-key-file=/var/lib/kubelet/worker-0-key.pem \
  --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

rudolphjacksonm avatar May 24 '19 12:05 rudolphjacksonm