【k8s】Kubernetes ~ kubelet ~

◾️はじめに

kubelet について、徐々にまとめていく。

目次

【1】kubelet
【2】環境設定

【0】

                   Control Plane              Worker Node
          +------------------------------+ +-------------+
          |         +----------+         | |         +----------+         |
          |         |   etcd   |         | |           |         |   kubelet   |         |
          |         +----------+         | |         +----------+
          |               ↓              |  
kubectl   |         +-----------+        |
------------------->| kube-     |        |
          |         | apiserver |        |
          |         +-----------+        |
          |               ↑              |  
          |        |           |         | 
          | +----------+  +------------+ |
          | | kube-    |  | kube-      | |
          | | scheduler|  | controller-| |
          | |          |  | manager    | |
          | +----------+  +------------+ | 
          +------------------------------+

【1】kubelet

* クラスタ内の各ノードで実行されるエージェント
* Podやコンテナの起動などを行う

【2】環境設定

* 以下に詳しく記載されている

https://qiita.com/Yoyo-kikuchi/items/e4092805f9ce9ac6175c

1)手順

公式ドキュメント
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
[1] スワップを無効にする

# Swapがオフであること。
# kubeletが正常に動作するためにはswapは必ずオフでなければなりません。

# スワップの使用状況をデバイスごとに表示する
$ swapon -s
# スワップを無効にする
$ swapoff -a

[2] インストールする

# 公式ドキュメントより抜粋

# [1] Set SELinux to permissive mode
# (SELinuxをpermissiveモードに設定する(効果的に無効化する))
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# [2] This overwrites any existing configuration in /etc/yum.repos.d/kubernetes.repo
$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF

# [3] Install kubelet, kubeadm and kubectl
$ sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

# [4] (Optional) Enable the kubelet service before running kubeadm
$ sudo systemctl enable --now kubelet

関連記事

Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
KubernetesLinux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/01/02/005053
SELinux
https://dk521123.hatenablog.com/entry/2017/12/10/222000