kubernetes ha环境搭建

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
 
OK,验证成功。
 
http://www.cnblogs.com/chiwg/p/5498798.html

猜你喜欢

转载自m635674608.iteye.com/blog/2367644