对应主机名 写入 hosts
centos-master = 192.168.121.9
centos-minion-1 = 192.168.121.65centos-minion-2 = 192.168.121.66centos-minion-3 = 192.168.121.67关闭所有主机防火墙
setenforce 0
systemctl disable iptables-services firewalldsystemctl stop iptables-services firewalld对应所有主机 建立 repo 源
[virt7-docker-common-release]
name=virt7-docker-common-releasebaseurl=gpgcheck=0对应所有主机安装修改
yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannelvi /etc /kubernetes/config
KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=0"
对master主机
vi /etc/etcd/etcd.confETCD_NAME=defaultETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"vi /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet-port=10250"
KUBE_ETCD_SERVERS="--etcd-servers=9"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_API_ARGS=""
启动ETCD并将其配置为在主机上保持网络覆盖配置: 警告此网络必须在您的网络基础架构中未使用!172.30.0.0/16在我们的网络中是免费的。
systemctl start etcdetcdctl mkdir /kube-centos/networketcdctl mk /kube-centos/network/config "{ "Network": "172.30.0.0/16", "SubnetLen": 24, "Backend": { "Type": "vxlan" } }"vi /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"FLANNEL_ETCD_PREFIX="/kube-centos/network" 这个是上面创建的 kube-centos
最后
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; dosystemctl restart $SERVICESsystemctl enable $SERVICESsystemctl status $SERVICES
done
Node
在节点上配置Kubernetes服务。我们需要配置kubelet并启动kubelet和代理vi /etc/kubernetes/kubeletKUBELET_ADDRESS="--address=0.0.0.0"KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME="--hostname-override=centos-minion-n" 写各自的IP
KUBELET_API_SERVER="--api-servers=0" 写master的ip
KUBELET_ARGS=""
vi /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"FLANNEL_ETCD_PREFIX="/kube-centos/network"
Start the appropriate services on node 开启服务
for SERVICES in kube-proxy kubelet flanneld docker; dosystemctl restart $SERVICESsystemctl enable $SERVICESsystemctl status $SERVICES
done
Configure kubectl
kubectl config set-cluster default-cluster --server= 写 master ipkubectl config set-context default-context --cluster=default-cluster --user=default-adminkubectl config use-context default-context最后 在 master 主机
kubectl get nodes得到相应的主机信息