CentOS 7
Ads

Kubernetes : Configure Admin Node
2015/12/13
 
Install Kubernetes which is the Orchestration System for Docker Containers.
For example, Configure Kubernetes Cluster with 1 Admon Node and 2 Container Node like follows.
                       +---------------------+
                       | [   Admin Node    ] |
                       |    dlp.srv.world    |
                       |                     |
                       +----------+----------+
                                  |
+----------------------+          |          +----------------------+
| [       Node01     ] |10.0.0.51 | 10.0.0.52| [       Node02     ] |
|   node01.srv.world   +----------+----------+    node02.srv.world  |
|                      |                     |                      |
+----------------------+                     +----------------------+

 
Configure Admon Node on this section.
[1] Install required packages.
[root@dlp ~]#
yum -y install kubernetes etcd flannel
[2] Configure Kubernetes.
# generate RSA key

[root@dlp ~]#
openssl genrsa -out /etc/kubernetes/service.key 2048
[root@dlp ~]#
vi /etc/kubernetes/controller-manager
# line 7: add

KUBE_CONTROLLER_MANAGER_ARGS="
--service_account_private_key_file=/etc/kubernetes/service.key
"
[root@dlp ~]#
vi /etc/kubernetes/apiserver
# line 8: change

KUBE_API_ADDRESS="--address=
0.0.0.0
"
# line 17: change to Admin Node's hostname or IP address

KUBE_ETCD_SERVERS="--etcd_servers=http://
dlp.srv.world
:2379"
# line 20: IP range for Kubernetes service (change it if need)

KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
# line 26: add

KUBE_API_ARGS="
--service_account_key_file=/etc/kubernetes/service.key
"
[root@dlp ~]#
vi /etc/etcd/etcd.conf
# line 7: uncomment

ETCD_LISTEN_PEER_URLS="http://localhost:2380"
# line 8: add etcd Host's hostname or IP address

ETCD_LISTEN_CLIENT_URLS="
http://dlp.srv.world:2379
,http://localhost:2379"
[root@dlp ~]#
vi /etc/kubernetes/config
# line 22: change to Admin Node's hostname or IP address

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] Configure Flannel networking.
[root@dlp ~]#
vi flannel-config.json
# create new

# specify network range you like which is used inside Container Nodes

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

[root@dlp ~]#
vi /etc/sysconfig/flanneld
# line 4: change to Flannel Host's hostname or IP address

FLANNEL_ETCD="http://
dlp.srv.world
:2379"
# line 8: confirm the parameter

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] Make sure th settings. It's OK if following result is displayed.
[root@dlp ~]#
kubectl cluster-info

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