kindのインストール

kindというのは,Kubernetesクラスタを簡単に作れるツール.kindは,Kubernetes IN Dockerの略.つまり,KubernetesクラスタDockerコンテナ上で動作するということになる.

ローカル環境でKubernetesを利用できるツールとしてはminikubemicrok8sと同様のもの.但し,kindにはマルチノードクラスタを作れるという他のツールには無い大きな特長がある.また,kindKubernetesの公式ツールでもある.つまり,Kubernetesの挙動を確認したい場合やCI[Continuous Integration]環境で新しいビルドとリリースプロセスをテストしたいという場合にはkindが適している.

multipasskindをインストールする.但し,このインストールの前にkubectlのインストールをしておく必要がある.

ubuntu@DEV:/home$ sudo curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 86 100 86 0 0 117 0 --:--:-- --:--:-- --:--:-- 120
100 9697k 100 9697k 0 0 3242k 0 0:00:02 0:00:02 --:--:-- 7121k

ubuntu@DEV:/home$ chmod +x ./kind
ubuntu@DEV:sudo mv ./kind /usr/local/bin/kind
ubuntu@DEV:/home$ kind --version
kind version 0.26.0-alpha+74acdf744a3566

一行目のコマンドで,kindのバイナリをダウンロードしている.次に,ダウンロードしたバイナリに実行権限を付与.そして,ダウンロードしたバイナリを/usr/local/bin/kindディレクトリに移動.

これで,問題なく,kindがインストールされている.

次に,いよいよ,クラスターを作成してみる.

ubuntu@DEV:kind create cluster --image=kindest/node:v1.29.0
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.29.0)
✓ Preparing nodes
✓ Writing configuration
✓ Starting control-plane
✓ Installing CNI
✓ Installing StorageClass
Set kubectl context to "kind-kind"

クラスターが作成されているかを確認する.

ubuntu@DEV:~$ sudo kubectl cluster-info --context kind-kind
Kubernetes control plane is running at https://127.0.0.1:46537
CoreDNS is running at https://127.0.0.1:46537/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

コントロールプレーンノード[control-plane]はクラスターの管理と制御を担当する特別なノード.APIサーバー,コントローラーマネージャー,スケジューラー等のクラスターを管理するためのコアコンポーネントである.これに対して,アプリケーションコンテナが配置され,実行されるノードはワーカーノードと呼ばれ,このワーカーノードにクラスター内のアプリケーションがデプロイされる.kindではノードをDockerコンテナとして起動される.Dockerコンテナとしてのノードが起動される,その内部でcontainerdが初期化が行われる.そして,KubernetesのAPIサーバーからの要求に応じてPodの実行や管理を行う.コンテナ間でのネットワーク機能はCNI[Container Network Interface]が担う.

また,CoreDNSKubernetesクラスターDNSとして機能するDNSサーバーである.

コンテキスト[context]というのは,kubectlがどのKubernetesクラスタと通信するかを示すもの.kindを用いると,新しいコンテキストが自動設定される.

補足

127.0.0.1はネットワークにおいて自分自身のコンピューターに割り当てられたIPアドレス,すなわち,ループバックアドレスの一つ.127.0.0.1を表すホスト名localhostとなる.

なお,IPv4では上記の通り,127.0.0.1が最も一般的に使用されるループバックアドレスとなるが,127.0.0.0から127.255.255.255の全範囲がループバック用として予約されている.また,IPv6では::1[0:0:0:0:0:0:0:1]が使用される.

Mathematics is the language with which God has written the universe.





















view関数 情報エントロピー 正規分布 連続一様分布 多項分布 二項分布と負の二項分布