CentOS 7
 

Kubernetes : 管理ノードの設定
2015/12/13
 
Docker コンテナーオーケストレーションシステム Kubernetes のインストールと設定です。
例として、管理ノード 1台と 2台のコンテナーノードでクラスターを構成します。
                       +---------------------+
                       | [   Admin Node    ] |
                       |    dlp.srv.world    |
                       |                     |
                       +----------+----------+
                                  |
+----------------------+          |          +----------------------+
| [       Node01     ] |10.0.0.51 | 10.0.0.52| [       Node02     ] |
|   node01.srv.world   +----------+----------+   node02.srv.world   |
|                      |                     |                      |
+----------------------+                     +----------------------+

 
ここでは管理ノードの設定を行います。
[1] Kubernetes と 設定管理に利用する Etcd, および Kubernetes クラスター間で仮想ネットワークを設定可能な Flannel をインストールします。
[root@dlp ~]#
yum -y install kubernetes etcd flannel
[2] Kubernetes クラスターの基本設定です。
# RSAキー生成

[root@dlp ~]#
openssl genrsa -out /etc/kubernetes/service.key 2048
[root@dlp ~]#
vi /etc/kubernetes/controller-manager
# 7行目:追記

KUBE_CONTROLLER_MANAGER_ARGS="
--service_account_private_key_file=/etc/kubernetes/service.key
"
[root@dlp ~]#
vi /etc/kubernetes/apiserver
# 8行目:変更

KUBE_API_ADDRESS="--address=
0.0.0.0
"
# 17行目:管理ノードのホスト名 または IP に変更

KUBE_ETCD_SERVERS="--etcd_servers=http://
dlp.srv.world
:2379"
# 20行目:Kubernetes サービス用のアドレス範囲 (必要があれば変更)

KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
# 26行目:追記

KUBE_API_ARGS="
--service_account_key_file=/etc/kubernetes/service.key
"
[root@dlp ~]#
vi /etc/etcd/etcd.conf
# 7行目:コメント解除

ETCD_LISTEN_PEER_URLS="http://localhost:2380"
# 8行目:etcd 稼働ホスト (自身のホスト名 または IP) を追記

ETCD_LISTEN_CLIENT_URLS="
http://dlp.srv.world:2379
,http://localhost:2379"
[root@dlp ~]#
vi /etc/kubernetes/config
# 22行目:管理ノードのホスト名 または IP に変更

KUBE_MASTER="--master=http://
dlp.srv.world
:8080"
[root@dlp ~]#
systemctl start etcd kube-apiserver kube-controller-manager kube-scheduler

[root@dlp ~]#
systemctl enable etcd kube-apiserver kube-controller-manager kube-scheduler

[3] Flannel ネットワークを設定します。
[root@dlp ~]#
vi flannel-config.json
# 以下の内容で新規作成

# ネットワークはノード間で使用する任意の範囲を指定

{
  "Network":"172.16.0.0/16",
  "SubnetLen":24,
  "Backend":{
    "Type":"vxlan",
    "VNI":1
  }
}

[root@dlp ~]#
vi /etc/sysconfig/flanneld
# 4行目:Flannel 稼働ノードのホスト名 または IP に変更

FLANNEL_ETCD="http://
dlp.srv.world
:2379"
# 8行目:以下のようになっているか確認

FLANNEL_ETCD_KEY="/atomic.io/network"
[root@dlp ~]#
etcdctl set atomic.io/network/config < flannel-config.json

[root@dlp ~]#
systemctl start flanneld

[root@dlp ~]#
systemctl enable flanneld

[4] 動作確認をしておきます。以下のような結果が返れば設定 OK です。
[root@dlp ~]#
kubectl cluster-info

Kubernetes master is running at http://localhost:8080
 
Tweet