1、环境
yum -y remove kubelet kubeadm kubectl
卸载现在的环境yum remove kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64
192.168.100.129 #master
192.168.100.130 #node1
192.168.100.131 #node2
一台master,两台node,正常来说master服务器不应该有node配置
废话不多说上来第一件事干吗?关闭防护墙(我这是测试环境,生产环境可以开发端口参考https://www.cnblogs.com/zyb2016/p/12910483.html)
主要是使用2379端口和8080端口
关闭方法墙
systemctl stop firewalld
systemctl disable firewalld
三台电脑全部执行
# yum update
2、etcd、kubernetes服务端
开始配置master主机
# yum install etcd kubernetes-master docker-y
安装完执行修改文件
# vi /etc/etcd/etcd.conf,内容如下
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.100.129:2379"
配置完毕运行etcd
systemctl enable etcd
systemctl start etcd
接下来修改apiserver
#vi /etc/kubernetes/apiserver 内容如下
KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.100.129:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=192.168.100.192/26"
说明192.168.100.192/26"这个ip根据自己的网段设置,不知道啥意思自己去百度
设置vi /etc/kubernetes/controller-manager参数
KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"
设置 /etc/kubernetes/config 参数
KUBE_MASTER="--master=http://192.168.100.129:8080"
etcd和kubernetes设置完毕接下来启动
systemctl enable kube-apiserver kube-scheduler kube-controller-manager
systemctl start kube-apiserver kube-scheduler kube-controller-manager
最后执行一下命令(别问我为啥,执行就完了)
etcdctl set /coreos.com/network/config '{ "Network" : "10.1.0.0/16" }'
3、kubernetes nodes配置,只讲解期中一台node
如果有旧版本的docker需要卸载参考https://www.cnblogs.com/zyb2016/p/13679797.html
首先执行
yum install kubernetes-node flannel docker -y
启动docker
systemctl enable docker
systemctl start docker
修改vi /etc/sysconfig/flanneld配置
FLANNEL_ETCD="http://192.168.163.148:2379"
FLANNEL_ETCD_KEY="/coreos.com/network"
启动flanneld服务
systemctl enable flanneld.service
systemctl restart flanneld.service
systemctl restart docker
修改vi /etc/kubernetes/kubelet配置
KUBELET_HOSTNAME="--hostname_override=192.168.100.130"
KUBELET_API_SERVER="--api_servers=http://192.168.100.129:8080"
启动kubelet服务
systemctl enable kubelet kube-proxy
systemctl start kubelet kube-proxy
最后在kubernetes server节点中执行kubectl get nodes可以显示所有的界面信息,并且都是ready状态
如果执行发现no resource耐就执行一下试试
systemctl restart kube-apiserver kube-scheduler kube-controller-manager
systemctl restart etcd
如果还不好用就要vi /etc/kubernetes/apiserver折腾一下这个了
比如改一下KUBE_API_SERVERS,放开对应的port地址,然后执行上面的内容,在执行kubectl get nodes,发现报错,那改回去就好了都重启下就好了