Kind で Kubernetes のクラスタを���Bする
峻さん、こんにちは。室宝蝕�kグル�`プの稼-看噛温敬温稼です。
輝芙ではこの扮豚、幹羨芝廷晩に栽わせて爺胆勧箪オ�`プン�┘乾襯妝�が蝕岸されているようです。暴はゴルフをやらないので音歌紗です。
云籾です。
Kubernetesを茶��しようとしたときに、Kubernetesを��すための�h廠が圀しくなります。ぱっと房いつくのがAWS EKSなどのクラウド�h廠ですが、お返�Xでもなく、創署もかかるので、ちょっと��したいときには音�鬚�です。そんな嶄、Kindというお返�XにKubernetesを��せるツ�`ルがありましたので、書晩はKindでKubernetesのクラスタを���Bする圭隈を�B初します。
朕肝
Kind (Kubernetes in Docker)
悪顎恢艶姻稼艶岳艶壊は鹸方のノ�`ド��麗尖マシンや�∀襯泪轡鵑覆稗�を砿尖し、鹸方のノ�`ドでクラスタを侘撹します。鹸方のノ�`ドでクラスタを更廏しようとするときは、鹸方岬の麗尖マシンや�∀襯泪轡鵑鰉智發垢覬慴�があり、倖繁で喘吭するのは酒�gなことではありません。
書指府初する悪庄稼糸を聞うと、禽看界一艶姻のコンテナをノ�`ドに需羨てることにより、ロ�`カル桟廠の極挑1岬で、鹸方のノ�`ドでクラスタ桟廠を更廏することが竃栖るようになります。
Docker のインスト�`ル
仝Dockerのコンテナをノ�`ドに��羨てることにより々とある宥り、Dockerをインスト�`ルする駅勣があります。Windows�h廠、かつ、��繁旋喘であればDocker Desktopで措いかと房いますが、斌喘旋喘だと嗤創となりますのでご廣吭ください。
悪庄稼糸のインスト�`ル
を需ると、赫看パッケ�`ジとして巷蝕されているようです。麿にも、などでもパッケ�`ジを巷蝕しているようですが、火廷ながら暴の極挑にはありません。なので、シンプルに�g佩ファイルをダウンロ�`ドします。永看敬艶姻皆鞄艶鉛鉛で參和のコマンドを�g佩します。
> curl.exe -Lo kind-windows-amd64.exe "https://kind.sigs.k8s.io/dl/v0.19.0/kind-windows-amd64"あとは、ダウンロ�`ドしたkind-windows-amd64をkind.exeにリネ�`ムすれば頼阻です。
悪顎恢艶界岳鉛のインスト�`ル
悪顎恢艶姻稼艶岳艶壊への荷恬を佩うにはkubectlコマンドが駅勣になります。これも�g佩ファイルをダウンロ�`ドします。
> curl.exe -LO "https://dl.k8s.io/release/v1.27.2/bin/windows/amd64/kubectl.exe"クラスタ更廏
�g縞に一庄稼糸でクラスタを更廏してみます。まずは參和の額温馨鉛ファイルを喘吭します。
apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
nodes:
- role: control-plane
image: kindest/node:v1.27.2
extraPortMappings:
- containerPort: 30080
hostPort: 80
- role: worker
image: kindest/node:v1.27.2
- role: worker
image: kindest/node:v1.27.2
- role: worker
image: kindest/node:v1.27.2ノ�`ドやコンテナを崙囮するControl Planeのノ�`ドが1つと、�g�Hにコンテナを�嘛�させるWorker ノ�`ドが3つの��撹でクラスタを更廏します。���Bするには參和のコマンドを�g佩します。
> kind create cluster --config cluster.yaml --name kindclusterkind create clusterでクラスタを更廏します。--configには枠ほど恬撹した額温馨鉛ファイルへのパスを峺協します。--nameにはクラスタの兆念を峺協します。クラスタを更廏したら、kubectlコマンドで更廏したクラスタへ遺看稼岳艶恰岳を俳り紋えます。
> kubectl config use-context kind-kindclusterこれにより、書朔kubectlコマンドを聞喘することで、更廏したクラスタに��して荷恬が佩われます。では�g縞にノ�`ドが恬撹されたかkubectlコマンドで鳩範してみます。
> kubectl get nodes
NAME STATUS ROLES AGE VERSION
kindcluster-control-plane Ready control-plane 5m30s v1.27.2
kindcluster-worker Ready <none> 4m45s v1.27.2
kindcluster-worker2 Ready <none> 4m46s v1.27.2
kindcluster-worker3 Ready <none> 4m45s v1.27.2竃栖ていますね��
ちなみにdocker container lsを�g佩すると、悪顎恢艶姻稼艶岳艶壊のノ�`ドが、糸看界一艶姻のコンテナで強いていることが蛍かります。
> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
967795c7f376 kindest/node:v1.27.2 "/usr/local/bin/entr´" About a minute ago Up About a minute kindcluster-worker
edf39f1aae7e kindest/node:v1.27.2 "/usr/local/bin/entr´" About a minute ago Up About a minute 127.0.0.1:59624->6443/tcp, 0.0.0.0:80->30080/tcp kindcluster-control-plane
3347ad25a6c2 kindest/node:v1.27.2 "/usr/local/bin/entr´" About a minute ago Up About a minute kindcluster-worker2
00a2350e320e kindest/node:v1.27.2 "/usr/local/bin/entr´" About a minute ago Up About a minute kindcluster-worker3稼乙庄稼恰を強かしてみる
せっかくですので、恬撹したばかりのクラスタに稼乙庄稼恰をデプロイしてみましょう。參和の額温馨鉛ファイルを喘吭します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-deployment
spec:
replicas: 3
selector:
matchLabels:
app: sample-deployment
template:
metadata:
labels:
app: sample-deployment
spec:
containers:
- name: nginx-container
image: nginx:1.16
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: sample-service
spec:
type: NodePort
selector:
app: sample-deployment
ports:
- name: "nginx-port"
protocol: "TCP"
port: 8080
targetPort: 80
nodePort: 30080�袁犬亙,�ますが、稼乙庄稼恰の糸艶沿鉛看霞馨艶稼岳と鰻看糸艶永看姻岳を協吶しています。參和のコマンドを�g佩して、クラスタにデプロイします。
> kubectl apply -f .\examples\training\workloads_deployment_sample.yaml稼乙庄稼恰が羨ち貧がりました��

おわりに
書晩は悪庄稼糸をつかって悪顎恢艶姻稼艶岳艶壊のクラスタを更廏する圭隈を府初しました。悪顎恢艶姻稼艶岳艶壊についての�h苧を福きましたので、悪顎恢艶姻稼艶岳艶壊を岑らない繁にはちんぷんかんぷんな坪否だったかもしれません。肝指參週は悪顎恢艶姻稼艶岳艶壊についてお三ししようと房いますので、悪庄稼糸で更廏した桟廠で弼?と編して競ければと房います。
ではまた。
