LoginSignup
6
4

More than 3 years have passed since last update.

kindでお手軽にKubernetes学習環境を作る

Last updated at Posted at 2019-09-01

こんな人におすすめ

  • KubernetesやってみたいけどGKEやEKS等のクラウドに出費はしたくない
  • とりあえずマルチノードのクラスタをローカルで試してみたい

※ シングルノードで良ければ Docker Desktop に同梱されている Kubernetes を使うほうが早いです。

kindとは

Kubernetes in docker で kind
Kubernetes 公式の入門ページでも紹介されていて、dockerコンテナをノードにしてクラスタを組むことができる(?)っぽいです。
ドキュメントには「Kubernetes 1.11+ をテストするために設計されたプロジェクト」と書かれています。

前提条件

dockerkubectl がインストールされていること。

インストール

Qick Start に書いてあることそのままですが、以下のコマンドを打ちます。

$ curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.5.1/kind-$(uname)-amd64
$ chmod +x ./kind

落としてきたバイナリはPATHの通ったディレクトリに移します。
またバージョンは執筆当時のものなので、必ず公式のドキュメントを確認してください。

シングルノードのクラスタを立てる

$ kind create cluster

これだけで立てられます。--name hoge とするとクラスタの名前を指定できます(デフォルトはkind)
コンテナイメージ取ってきたりControl-Planeの起動したりで結構時間かかります。

うまくいったら、KUBECONFIG を設定します。

$ export KUBECONFIG="$(kind get kubeconfig-path)"

ここまでできれば後は kubectl コマンドで何でもできます。

クラスタの破棄は

$ kind delete cluster

で簡単にできます。

マルチノードのクラスタを立てる

次は

  • Control-Plane(Master)
  • Worker
  • Worker

の3台構成でクラスタを立ててみます。

マルチノードクラスタには設定用のYAMLがファイルが必要になるので書いていきます。

kind-config.yml
kind: Cluster
apiVersion: kind.sigs.k8s.io/v1alpha3
nodes:
  - role: control-plane
  - role: worker
  - role: worker

あとはシングルノードの時と同様にコマンドを打ちます。

$ kind create cluster --config kind-config.yml
$ export KUBECONFIG="$(kind get kubeconfig-path)"

--config には先程書いたYAMLファイルを指定します。

$ kubectl get nodes

で確認してみると3台ちゃんと動いていることが分かると思います。

ということで筆者はやっとKubernetesの学習環境を手に入れたのでこれからがんばって勉強していきたいと思います。

参考文献

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4