kubernetes ha环境搭建
1.准备7个虚拟机(一个etcd,三个master,二个slave,一个vip) 注: 目前尚未理解vip这个主机是否需要存在修改所有主机的/etc/hosts
10.0.92.211 master (这是etcd)10.0.92.212 minion21210.0.92.213 minion21310.0.92.201 master0110.0.92.202 master0210.0.92.203 master0310.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 master03pcs cluster setup --start --name high-availability-kubernetes master01 master02 master03pcs resource create virtual-ip IPaddr2 ip=10.0.92.222 --group master (这里请添写hostname为vip的主机地址)pcs resource create apiserver systemd:kube-apiserver --group masterpcs resource create scheduler systemd:kube-scheduler --group masterpcs resource create controller systemd:kube-controller-manager --group masterpcs property set stonith-enabled=false 7.查看master-ha的状态
pcs statuspcs 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 nodeskubectl -s http://vip:8080 create -f application.yamlkubectl -s http://vip:8080 create -f service.yaml kubectl -s http://vip:8080 get rc,pods,svc --all-namespaces -o wide
OK,验证成功。
页:
[1]