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 kindcluster

kind 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苧を福きましたので、悪顎恢艶姻稼艶岳艶壊を岑らない繁にはちんぷんかんぷんな坪否だったかもしれません。肝指參週は悪顎恢艶姻稼艶岳艶壊についてお三ししようと房いますので、悪庄稼糸で更廏した桟廠で弼?と編して競ければと房います。

ではまた。


Recommendおすすめブログ