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をインスト`ルする駅勣があります。Windowsh廠、かつ、繁旋喘であれば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つと、gHにコンテナを嘛させる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苧を福きましたので、悪顎恢艶姻稼艶岳艶壊を岑らない繁にはちんぷんかんぷんな坪否だったかもしれません。肝指參週は悪顎恢艶姻稼艶岳艶壊についてお三ししようと房いますので、悪庄稼糸で更廏した桟廠で弼?と編して競ければと房います。
ではまた。
