kubesprayを使用してkubernetes clusterを構築する

kubesprayを使用してkubernetes clusterを構築する

kubesprayはproduction readyなkubernetes(k8s)クラスタを構成できるツールです。
Ansibleをベースに作られているため、任意のサーバでk8sクラスタを構成できます。

今回は、3台のVMを用意してクラスタを構成してみます[1]

検証環境

今回用意したVMは以下の構成です。

  • 2Core
  • 8GB RAM
  • 80GB HDD
  • CentOS 7

IPアドレスは以下の様になっているものとします。

  • 192.168.1.11
  • 192.168.1.12
  • 192.168.1.13

また、kubesprayを実行するローカルの環境はmacOS Sierraです。
各ホストのrootユーザに対してSSH鍵は配置済み、firewalldは無効化されているとします。

requirements

実行する環境に、Ansibleが必要なため、pipでインストールします。[2][3]

$ pip install ansible

install kubespray-cli

kubespray自体もpipでインストールします。

$ pip install kubespray

prepare

設定ファイルを生成するため、kubespray prepareを使用します。

$ kubespray prepare --nodes node1[ansible_ssh_host=192.168.1.11] node2[ansible_ssh_host=192.168.1.12] node3[ansible_ssh_host=192.168.1.13]

deploy

以下のコマンドでk8sクラスタをデプロイします。

$ kubespray deploy -u root -n flannel

今回はflannelネットワークプラグインで構成しました。
kubesprayは、次のネットワークプラグインを使用してクラスタを構成することができます。

あとは構成が終了するのを待つだけです。


  1. vmware vSphere上に作成しました ↩︎

  2. 最初、Python 3でkubesprayを実行しようとしたところ、raw_inputを使っているようで、上手くいきませんでした。Python 2で実行します ↩︎

  3. 私は一応venvを挟みました ↩︎

  4. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/flannel.md ↩︎

  5. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/calico.md ↩︎

  6. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/contiv.md ↩︎

  7. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/weave.md ↩︎

Subscribe to