はじめに
この記事はGitHub Codespacesを使って、「つくって、壊して、直して学ぶ Kubernetes入門」にある内容を実践する内容となっています。
参考:つくって、壊して、直して学ぶ Kubernetes入門
主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど)誤りなどがあれば書き直していく予定です。
環境を構築
GitHub CodespacesでKubernetes環境を構築する
今回は以下のツールをインストールしてk8sのクラスタを作って壊します。
- 必要なツール
- kubectl
- kind v0.20.0 go1.22.3 linux/amd64
GitHub Codespacesでkindをセットする
codespacesを開きます。
BlankにあるUse this template
をクリックします。
ターミナルで以下のコマンドを実行します。
go install sigs.k8s.io/kind@v0.20.0
実行結果
go: downloading sigs.k8s.io/kind v0.20.0
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/spf13/cobra v1.4.0
go: downloading github.com/pkg/errors v0.9.1
go: downloading github.com/alessio/shellescape v1.4.1
go: downloading github.com/mattn/go-isatty v0.0.14
go: downloading golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
go: downloading github.com/pelletier/go-toml v1.9.4
go: downloading github.com/BurntSushi/toml v1.0.0
go: downloading github.com/evanphx/json-patch/v5 v5.6.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading sigs.k8s.io/yaml v1.3.0
go: downloading gopkg.in/yaml.v2 v2.4.0
go: downloading github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2
kubectl
Codespacesにはインストールされているのでインストールされているかどうかを確認します。
kubectl version
実行結果
Client Version: v1.30.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
The connection to the server localhost:8080 was refused - did you specify the right host or port?
ハンズオン
セットアップが完了したので実際に実行してみましょう。
クラスタを構築する
まずはk8sクラスタを構築します。
kind create cluster --image=kindest/node:v1.29.0
構築したクラスタとkubectlの接続を確認します。
kubectl cluster-info --context kind-kind
実行結果
Kubernetes control plane is running at https://127.0.0.1:43123
CoreDNS is running at https://127.0.0.1:43123/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
クラスタを消す
接続確認ができたのでクラスタを消します。
kind delete cluster
実行結果
Deleting cluster "kind" ...
Deleted nodes: ["kind-control-plane"]
まとめ
今回はGitHub CodespacesでKubernetesクラスタを作成してみました。
kindが最初からインストールされていることは知らなかったので新発見でした。
次はアプリケーションを載せていきたいと思います。