Appearance
2. Jumpboxの設定
各種ノードへのモジュール配布およびリモートでのコマンド実行を担うjumpboxをセットアップします。
コマンドのインストール
必要なコマンドをインストールします。
shell
sudo apt update
sudo apt install -y wget curl opensslバイナリのダウンロード
必要なバイナリ一覧について記載したdownloads.txtを作成します。ダウンロード元の情報については下記を参照してください。
shell
ARCH=$(dpkg --print-architecture)
KUBECTL_VERSION=v1.35.5
KUBE_APISERVER_VERSION=v1.35.5
KUBE_CONTROLLER_MANAGER_VERSION=v1.35.5
KUBE_SCHEDULER_VERSION=v1.35.5
KUBE_PROXY_VERSION=v1.35.5
KUBELET_VERSION=v1.35.5
CRI_TOOLS_VERSION=v1.35.0
RUNC_VERSION=v1.4.3
CNI_PRUGINS_VERSION=v1.8.0
CONTAINERD_VERSION=2.2.5
ETCD_VERSION=v3.6.13
cat << EOF > downloads.txt
https://dl.k8s.io/${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl
https://dl.k8s.io/${KUBE_APISERVER_VERSION}/bin/linux/${ARCH}/kube-apiserver
https://dl.k8s.io/${KUBE_CONTROLLER_MANAGER_VERSION}/bin/linux/${ARCH}/kube-controller-manager
https://dl.k8s.io/${KUBE_SCHEDULER_VERSION}/bin/linux/${ARCH}/kube-scheduler
https://dl.k8s.io/${KUBE_PROXY_VERSION}/bin/linux/${ARCH}/kube-proxy
https://dl.k8s.io/${KUBELET_VERSION}/bin/linux/${ARCH}/kubelet
https://github.com/kubernetes-sigs/cri-tools/releases/download/${CRI_TOOLS_VERSION}/crictl-${CRI_TOOLS_VERSION}-linux-${ARCH}.tar.gz
https://github.com/opencontainers/runc/releases/download/${RUNC_VERSION}/runc.${ARCH}
https://github.com/containernetworking/plugins/releases/download/${CNI_PRUGINS_VERSION}/cni-plugins-linux-${ARCH}-${CNI_PRUGINS_VERSION}.tgz
https://github.com/containerd/containerd/releases/download/v${CONTAINERD_VERSION}/containerd-${CONTAINERD_VERSION}-linux-${ARCH}.tar.gz
https://github.com/etcd-io/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-${ARCH}.tar.gz
EOFshell
wget -q --show-progress \
--https-only \
--timestamping \
-P downloads \
-i downloads.txtダウンロードできていることを確認します。
shell
ls -oh downloads$ ls -oh downloads
total 489M
-rw-rw-r-- 1 nob 53M Sep 1 2025 cni-plugins-linux-amd64-v1.8.0.tgz
-rw-rw-r-- 1 nob 34M Jun 18 23:11 containerd-2.2.5-linux-amd64.tar.gz
-rw-rw-r-- 1 nob 19M Dec 10 2025 crictl-v1.35.0-linux-amd64.tar.gz
-rw-rw-r-- 1 nob 24M Jul 1 20:38 etcd-v3.6.13-linux-amd64.tar.gz
-rw-rw-r-- 1 nob 82M May 12 15:36 kube-apiserver
-rw-rw-r-- 1 nob 69M May 12 15:36 kube-controller-manager
-rw-rw-r-- 1 nob 42M May 12 15:36 kube-proxy
-rw-rw-r-- 1 nob 46M May 12 15:36 kube-scheduler
-rw-rw-r-- 1 nob 56M May 12 15:36 kubectl
-rw-rw-r-- 1 nob 56M May 12 15:36 kubelet
-rw-rw-r-- 1 nob 12M Jun 13 17:22 runc.amd64ダウンロードしたファイルを展開します。
shell
mkdir -p downloads/{client,cni-plugins,controller,worker}
tar -xvf downloads/crictl-${CRI_TOOLS_VERSION}-linux-${ARCH}.tar.gz -C downloads/worker/
tar -xvf downloads/containerd-${CONTAINERD_VERSION}-linux-${ARCH}.tar.gz --strip-components 1 -C downloads/worker/
tar -xvf downloads/cni-plugins-linux-${ARCH}-${CNI_PRUGINS_VERSION}.tgz -C downloads/cni-plugins/
tar -xvf downloads/etcd-${ETCD_VERSION}-linux-${ARCH}.tar.gz -C downloads/ --strip-components 1 etcd-${ETCD_VERSION}-linux-${ARCH}/etcdctl etcd-${ETCD_VERSION}-linux-${ARCH}/etcd
mv downloads/{etcdctl,kubectl} downloads/client/
mv downloads/{etcd,kube-apiserver,kube-controller-manager,kube-scheduler} downloads/controller/
mv downloads/{kubelet,kube-proxy} downloads/worker/
mv downloads/runc.${ARCH} downloads/worker/runc
rm -rf downloads/*gz展開したファイルに実行権を付与します。
shell
chmod +x downloads/{client,cni-plugins,controller,worker}/*kubectlのインストール
kubectlコマンドをインストールします。
shell
sudo cp downloads/client/kubectl /usr/local/bin/kubectlコマンドを実行できることを確認します。
shell
kubectl version --client$ kubectl version --client
Client Version: v1.35.5
Kustomize Version: v5.7.1