作成の背景
- 環境構築する際の備忘録
利用想定環境
- wsl2インストール済みのWindows OS(10または11)上に環境構築することを想定して記載
インストールが必要なもの
- wsl2(導入済み前提、ここでは省略)
- Docker Desktop
- kubectl
- kind
Docker環境の構築
Docker Desktopのインストール
-
ダウンロードしたインストーラーを起動
-
Configuratiuon画面で2つともチェックボックス入った状態でOK押下
- wsl2でのdocker利用を想定しているため、Hyper-Vでdocker利用したい場合はチェックボックス外す
-
Welcome to Dockerの画面が出てくる、個人利用なのでPersonalを押下、Dockerアカウントのログインを促されるが、ログインの必要ないのでSkipを押下
-
Windows PowerShellを起動、Dockerコマンドを試し打ち
- バージョン確認、hello-worldコンテナの起動が正常にできているのでDocker環境の構築は完了。
# Dockerのバージョンを確認 docker --version # hello-worldコンテナの実行 docker container run hello-world
Kubernetes環境の構築
kubectlのインストール
- 詳細はKubernetesのインストールページを参照(https://kubernetes.io/ja/docs/tasks/tools/install-kubectl-windows/)
-
最新版のkubectlバイナリファイルをインストールする(作成当時の最新版はv1.32.0)
curl.exe -LO "https://dl.k8s.io/release/v1.32.0/bin/windows/amd64/kubectl.exe"
-
バイナリファイルの検証を行う
curl.exe -LO "https://dl.k8s.io/v1.32.0/bin/windows/amd64/kubectl.exe.sha256" CertUtil -hashfile kubectl.exe SHA256 $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
-
環境変数の設定、PATH環境変数にkubectl実行ファイルまでのパスを設定する
- C:<任意のパス>\kubernetes\binフォルダを作成し、そちらにkubectl.exeを配置した
- 環境変数PATHにC:<任意のパス>\kubernetes\binを追加し、パスを通しておく
- C:\Program Files\Docker\Docker\resources\bin内にもkubectlが存在し、こちらのkubectlはバージョンが古い(確認したところv1.31.4とかだった)ため、先ほど追加したkubernetesが上になるように環境変数を設定
-
kubectlのバージョンを確認
kubectl version --client
ローカルクラスタの環境構築
- 今回はkindでローカル環境の構築を行う
kindとは
- ローカル環境でクラスタ構築が可能なツール。マルチノードクラスタを作成できる。
kindのインストール
詳細はkindのインストールページを参照(https://kind.sigs.k8s.io/docs/user/quick-start/)
-
kind実行ファイルのインストール
- 下記コマンドを実行し、バイナリファイルをインストール
# kind-windows-amd64.exeのインストール curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.27.0/kind-windows-amd64
-
インストールしたkind-windows-amd64.exeをkind.exeにリネーム、kubectlインストール時に通したパス配下に配置
- kindもパスを通さないと使えない
# インストールしたkind-windows-amd64.exeを実行可能なファイル名(kind.exe)としてリネーム配置 Move-Item .\kind-windows-amd64.exe C:\<任意のパス>\kubernetes\bin\kind.exe
上記のやり方だとダメな時
- wingetコマンドを使ってパッケージのインストール
winget install Kubernetes.kind
-
kindでkubernetesクラスタの作成を行う
kind create cluster
- 下記画面のように表示が出ていれば完了
-
kubectlを利用してクラスタと接続できることを確認
kubectl cluster-info --contect kind-kind
- 下記画面のような表示が出ていればkindで作成したクラスタと接続できている
- これでKubernetesのローカル実行環境が作成できた
-
クラスタの削除
- クラスタが必要でない場合は削除する
kind delete cluster
所感
- これまで「パスを通す」が分からなかったけどなんとなくわかったのでたぶん成長した