kubestronautへの道 ~CKS編 その32 killer coda「Verify Platform Binaries」~

tech article

今日覚えて帰ること

ダウンロードしたkubeletの圧縮ファイルを解凍するとバイナリファイルは

kubernetes/server/bin/kubelet

に格納される

Verify Platform Binaries

Compare the kubelet binary

Download the kubelet binary in the same version as the installed one.

wget https://dl.k8s.io/vX.Y.Z/kubernetes-server-linux-amd64.tar.gz

Compare their sha hashes and answer with:

echo SAME > /answer
echo DIFFERENT > /answer

サーバーに既存kubeletと、新たにダウンロードしてくるkubeletのバイナリファイルのshaハッシュが同じかどうかを確認しろ、と言っています。

まずは既存のkubeletのバージョンを確認します。


controlplane $ kubelet --version
Kubernetes v1.30.0
controlplane $ 

v1.30.0であることが分かったので、同じバージョンのkubeletをインストールします。

controlplane $ wget https://dl.k8s.io/v1.30.0/kubernetes-server-linux-amd64.tar.gz
--2024-09-19 06:35:07--  https://dl.k8s.io/v1.30.0/kubernetes-server-linux-amd64.tar.gz
Resolving dl.k8s.io (dl.k8s.io)... 34.107.204.206, 2600:1901:0:26f3::
Connecting to dl.k8s.io (dl.k8s.io)|34.107.204.206|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://cdn.dl.k8s.io/release/v1.30.0/kubernetes-server-linux-amd64.tar.gz [following]
--2024-09-19 06:35:07--  https://cdn.dl.k8s.io/release/v1.30.0/kubernetes-server-linux-amd64.tar.gz
Resolving cdn.dl.k8s.io (cdn.dl.k8s.io)... 151.101.129.55, 151.101.193.55, 151.101.65.55, ...
Connecting to cdn.dl.k8s.io (cdn.dl.k8s.io)|151.101.129.55|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 376899698 (359M) [application/x-tar]
Saving to: 'kubernetes-server-linux-amd64.tar.gz'

kubernetes-server-linux-amd64.tar.gz     100%[==================================================================================>] 359.44M  63.4MB/s    in 5.7s    

2024-09-19 06:35:13 (63.4 MB/s) - 'kubernetes-server-linux-amd64.tar.gz' saved [376899698/376899698]

圧縮ファイルをダウンロードできたのでこちらを解凍していきます

controlplane $ tar xzf kubernetes-server-linux-amd64.tar.gz

ちなみにオプションの説明としては

  • x(eXtract) 対象のファイルを解凍
  • z(gZip) gzip形式のファイルが対象
  • f(File) ファイル名を指定

とこんなところです。
解凍されたファイルはコマンドを実行したディレクトリ配下のkubernetes/server/bin/kubeletに格納されることになっています。

続いて、既存のkubeletのバイナリファイルのパスを調べます。

controlplane $ whereis kubelet
kubelet: /usr/bin/kubelet

/usr/bin/kubeletでした。

それではそれぞれのハッシュ値を確認していきます。
確認の方法は指定されていないのでなんでもいいです。

controlplane $ sha512sum /usr/bin/kubelet
1b3ebe478ec521943b5910084f093a65e1f93aa6c949a941d9f58008e9d594eb859b049e71928ba1020634d6eb7577b7d9751dd26259f4378cf11c3fc96f2d97  /usr/bin/kubelet

controlplane $ sha512sum kubernetes/server/bin/kubelet
c09618a8ed80dc57bb58fba16ce579a21db3d2625bf14af29e7a64fd09642761d8b6a007c334284a6abca191ac4e4b0f3064e3e11537a9995dd23342045236d5  kubernetes/server/bin/kubelet

ハッシュ値が違うことが確認できたので答えを書き込んで完了です。

echo DIFFERENT > /answer

これで現在利用可能なCKS用のシナリオはすべて完了です!
次はKiller shellかKodekloudの講座を受けようかなと思います。

タイトルとURLをコピーしました