在centos7上部署kubernetes
部署kubernetes环境准备K8S 分为 master 和 slave 两类角色。 环境说明如下表: 对象 版本 IP 备注
k8s-master centos7 XX.XX.XX.179 K8S的master所在主机
etcd-server centos7 XX.XX.XX.179 etcd服务所在主机,与master在同一机器
k8s-slave centos7 XX.XX.XX.182 K8S节点所在主机 更新yum登录 k8s-master 主机 yum update -y创建yum源注意:k8s-master,k8s-slave都要按照以下操作创建yum源 登录master/slave主机: vi virt7-docker-common-release.repo加入以下内容: [virt7-docker-common-release]name=virt7-docker-common-releasebaseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/gpgcheck=0安装服务执行以下命令,安装kubernetes和etcd。 yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd1.修改文件/etc/kubernetes/config(所有节点) 注意,master和slave主机都要修改
指定master主机的ip,文件内容如下: $ cat /etc/kubernetes/configKUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"KUBE_ALLOW_PRIV="--allow-privileged=false"KUBE_MASTER="--master=http://XX.XX.XX.179:8080"禁用防火墙systemctl disable iptables-services firewalldsystemctl stop iptables-services firewalld在master节点配置kubernetes服务1.修改配置文件/etc/etcd/etcd.conf,确保etcd监听所有地址。内容如下: $ cat /etc/etcd/etcd.confETCD_NAME=defaultETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"2.修改配置文件/etc/kubernetes/apiserver cat /etc/kubernetes/apiserverKUBE_API_ADDRESS="--address=0.0.0.0"KUBE_API_PORT="--port=8080"KUBELET_PORT="--kubelet-port=10250"KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"KUBE_API_ARGS=""3.修改配置文件/etc/kubernetes/controller-manager,定义slave主机ip地址 KUBELET_ADDRESSES="--machines=XX.XX.XX.182"在master主机上,启动服务执行如下命令,批量启动服务 for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES systemctl enable $SERVICES systemctl status $SERVICESdoneslave节点配置注意:slave节点主机,要安装docker,docker版本1.7以上 yum 安装kubernetesyum -y install --enablerepo=virt7-docker-common-release kubernetes flannel1.修改kubernetes配置文件,指定master。 $ cat /etc/kubernetes/configKUBE_MASTER="--master=http://XX.XX.XX.179:8080"2.配置kubelet服务。 $ cat /etc/kubernetes/kubeletKUBELET_ADDRESS="--address=0.0.0.0"KUBELET_PORT="--port=10250"KUBELET_HOSTNAME="--hostname-override=XX.XX.XX.182"KUBELET_API_SERVER="--api-servers=http://XX.XX.XX.179:8080"在slave主机上,启动服务for SERVICES in kube-proxy kubelet docker flanneld; do systemctl restart $SERVICES systemctl enable $SERVICES systemctl status $SERVICESdone验证现在登陆master,确认slave的状态 $ kubectl get nodesNAME LABELS STATUS AGE10.16.93.182 kubernetes.io/hostname=XX.XX.XX.182 Ready 1h参考文献在centos7上部署kubernetes
|