Overview
Kubernetes の管理に必要となる各種ツールをインストールします。
前提条件
- こちらを参考に基本設定が完了していること。
- この手順は、Master ノードで実行します。Worker ノードにこの手順のツールをインストールしても問題はありませんが、Worker ノードで使用することはありません。
- Kubernetes は、クラスター構築の段階では Master ノードに SSH で接続し、
kubectl
などを使用しますが、その後は別の管理ホストを用意し、管理ホストから各種管理コマンドを実行することが一般的です。個人的にもそれを推奨します。この場合、管理ホストにクラスターのクレデンシャルファイルを配置します。
kubectl
kubectl
は、Kubernetes クラスターを管理するためのコマンドラインツールです。kubectl
を使用すると、Kubernetes クラスター内のさまざまなリソース(ポッド、サービス、レプリカセット、デプロイメントなど)を作成、検査、更新、削除することができます。kubectl
のインストールは必須です。
インストール
snap
パッケージマネージャーを使用して kubectl
をインストールします。
myadmin@ubuntu-22-04:~$ sudo snap install kubectl --classic
--classic
フラグは、従来の権限でインストールすることを意味し、特定のシステムリソースへのアクセスを可能にします。公式サイトでは--classic
指定しており、それに倣っています。
バージョンを指定する場合は以下のように実行できます。
myadmin@ubuntu-22-04:~$ sudo snap install kubectl --classic --channel=1.23/stable
コマンド補完設定
ログイン時に自動的にコマンド補完を有効にするために、以下のスクリプトを /etc/profile.d
に配置します。これにより、kubectl
がインストールされている場合にのみ補完が有効になります。
myadmin@ubuntu-22-04:~$ sudo tee /etc/profile.d/kubectl.sh <<"EOF"
if [ -x /snap/bin/kubectl ]; then
source <(kubectl completion bash)
fi
EOF
if [ -x /snap/bin/kubectl ]; then
は、kubectl
が実行可能である場合にのみ、補完を有効にするための条件文です。source <(kubectl completion bash)
は、kubectl
のコマンド補完をシェルに読み込むコマンドです。
Helm
Helm は、Kubernetes のパッケージマネージャーです。Helm を使用すると、Kubernetes アプリケーションを簡単に定義、インストール、および管理できます。Helm は、アプリケーションの設定やデプロイメントをテンプレート化することで、複雑な Kubernetes リソースを効率的に扱うことが可能です。Helm のインストールは必須ではありませんが、現在は Helm を前提としたソフトウェアの配布も多いため、インストールしておいた方が良いでしょう。
インストール
snap
パッケージマネージャーを使用して helm
をインストールします。基本的な説明は kubectl
と同じです。
myadmin@ubuntu-22-04:~$ sudo snap install helm --classic
バージョンを指定する場合は以下のように実行できます。
myadmin@ubuntu-22-04:~$ sudo snap install helm --classic --channel=3.7/stable
コマンド補完設定
ログイン時に自動的にコマンド補完を有効にするために、以下のスクリプトを /etc/profile.d
に配置します。
myadmin@ubuntu-22-04:~$ sudo tee /etc/profile.d/helm.sh <<"EOF"
if [ -x /snap/bin/helm ]; then
source <(helm completion bash)
fi
EOF
calicoctl
calicoctl
は、Calico ネットワーキングとネットワークセキュリティのためのコマンドラインツールです。Calico は、高性能なコンテナネットワーキングソリューションであり、Kubernetes や OpenShift などのコンテナオーケストレーションプラットフォームで広く使用されています。calicoctl
を使用することで、Calico の設定および管理をコマンドラインから効率的に行うことができます。CNI に Calico を使用しない場合、calicoctl のインストールは必須ではありません。また、Calico を使用する場合でも、厳密に必須ではありませんが、Calico に特化した詳細設定や、トラブルシューティングを踏まえるとインストールしておいた方が良いでしょう。
calicoctl
をダウンロードし、/usr/local/bin
に配置します。本稿では v3.27.0 を指定していますが、実際に使用する Calico のバージョンと合わせておくと良いと思います。
myadmin@ubuntu-22-04:~$ sudo curl -L "https://github.com/projectcalico/calico/releases/download/v3.27.0/calicoctl-linux-arm64" -o /usr/local/bin/calicoctl
パーミッションを 755
に設定します。
myadmin@ubuntu-22-04:~$ sudo chmod 755 /usr/local/bin/calicoctl