kubernetes ha environment setup

1. Prepare 7 virtual machines (one etcd, three masters, two slaves, and one vip) Note: It is not yet understood whether the host vip needs to exist

Modify /etc/hosts for all hosts

10.0.92.211 master (this is etcd)
10.0.92.212 minion212
10.0.92.213     minion213
10.0.92.201 master01
10.0.92.202 master02
10.0.92.203 master03
10.0.92.222 vip
 

2. Configure etcd service and start

systemctl restart etcd

etcdctl mk /coreos.com/network/config '{"Network": "172.17.0.0/16"}'

 

3. Configure the kube-proxy and kubelet and flanneld and docker services of the minion node and start

Note the following two configurations:

KUBE_MASTER="--master= http://vip:8080 "
KUBELET_API_SERVER="--api_servers= http://vip:8080 "

systemctl restart kube-proxy

systemctl restart kubelet

systemctl restart flanneld

systemctl restart docker

 

4. Install pcs and fence-agents-all on master01, master02, master03 nodes

yum install pcs fence-agents-all

注:安装后会自动创建hacluster用户

 

5.配置master01,master02,master03的kubernetes服务(修改config和kube-apiserver文件)

在所有master上执行如下语句:(修改hacluster用户的密码,需要root用户修改)

echo hacluster | passwd -f --stdin hacluster
 

6.在某一个master节点如master01上,执行如下语句:

pcs cluster auth -u hacluster -p hacluster master01 master02 master03
pcs cluster setup --start --name high-availability-kubernetes master01 master02 master03
pcs resource create virtual-ip IPaddr2 ip=10.0.92.222 --group master                                    (这里请添写hostname为vip的主机地址)
pcs resource create apiserver systemd:kube-apiserver --group master
pcs resource create scheduler systemd:kube-scheduler --group master
pcs resource create controller systemd:kube-controller-manager --group master
pcs property set stonith-enabled=false
 

7.查看master-ha的状态

pcs status
pcs cluster auth
正确的状态为:
Resource Group: master
     virtual-ip    (ocf::heartbeat:IPaddr2):    Started master01
     apiserver    (systemd:kube-apiserver):    Started master01
     scheduler    (systemd:kube-scheduler):    Started master01
     controller    (systemd:kube-controller-manager):    Started master01
 
8.验证停止master01的服务 
pcs cluster standby master01
查看pcs status状态为:
 Resource Group: master
     virtual-ip    (ocf::heartbeat:IPaddr2):    Started master02
     apiserver    (systemd:kube-apiserver):    Started master02
     scheduler    (systemd:kube-scheduler):    Started master02
     controller    (systemd:kube-controller-manager):    Started master02
验证后请关闭standby状态
pcs cluster unstandby master02
 
9.验证kubernetes功能:
kubectl -s  http://vip:8080 get nodes
kubectl -s  http://vip:8080 create -f application.yaml
kubectl -s  http://vip:8080 create -f service.yaml
kubectl -s  http://vip:8080 get rc,pods,svc --all-namespaces -o wide
 
OK,验证成功。
 
http://www.cnblogs.com/chiwg/p/5498798.html

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326518153&siteId=291194637
Recommended