注意: 情報が古くなっています。新しい情報にあわせて記事を書いた ので、そちらをご覧ください。
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
でインストールします。23
|
|
install kubespray-cli
kubespray自体もpip
でインストールします。
|
|
prepare
設定ファイルを生成するため、kubespray prepare
を使用します。
|
|
deploy
以下のコマンドでk8sクラスタをデプロイします。
|
|
今回はflannel
ネットワークプラグインで構成しました。
kubesprayは、次のネットワークプラグインを使用してクラスタを構成することができます。
あとは構成が終了するのを待つだけです。
vmware vSphere 上に作成しました ↩︎
最初、Python 3でkubesprayを実行しようとしたところ、
raw_input
を使っているようで、上手くいきませんでした。Python 2で実行します ↩︎私は一応
venv
を挟みました ↩︎https://github.com/kubernetes-incubator/kubespray/blob/master/docs/flannel.md ↩︎
https://github.com/kubernetes-incubator/kubespray/blob/master/docs/calico.md ↩︎
https://github.com/kubernetes-incubator/kubespray/blob/master/docs/contiv.md ↩︎
https://github.com/kubernetes-incubator/kubespray/blob/master/docs/weave.md ↩︎