1.准备7个虚拟机(一个etcd,三个master,二个slave,一个vip) 注: 目前尚未理解vip这个主机是否需要存在
修改所有主机的/etc/hosts
10.0.92.211 master (这是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.配置etcd服务并起动
systemctl restart etcd
etcdctl mk /coreos.com/network/config '{"Network": "172.17.0.0/16"}'
3.配置minion节点的kube-proxy和kubelet和flanneld和docker服务并起动
注意下面这两个的配置:
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.在master01,master02,master03节点上安装 pcs和fence-agents-all
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
kubectl -s http://vip:8080 get rc,pods,svc --all-namespaces -o wide
OK,验证成功。
http://www.cnblogs.com/chiwg/p/5498798.html