Centos部署kubernetes

来源:互联网 发布:程序员鼓励师王牧牧 编辑:程序博客网 时间:2024/05/21 21:46

部署kubernetes

环境准备

K8S 分为 master 和 slave 两类角色。

环境说明如下表:

对象版本IP备注k8s-mastercentos7XX.XX.XX.179K8S的master所在主机etcd-servercentos7XX.XX.XX.179etcd服务所在主机,与master在同一机器k8s-slavecentos7XX.XX.XX.182K8S节点所在主机

更新yum

登录 k8s-master 主机

yum update -y
  • 1
  • 1

创建yum源

注意:k8s-master,k8s-slave都要按照以下操作创建yum源

登录master/slave主机:

vi  virt7-docker-common-release.repo
  • 1
  • 1

加入以下内容:

[virt7-docker-common-release]name=virt7-docker-common-releasebaseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/gpgcheck=0
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

安装服务

执行以下命令,安装kubernetes和etcd。

yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd
  • 1
  • 1

1.修改文件/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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

禁用防火墙

systemctl disable iptables-services firewalldsystemctl stop iptables-services firewalld
  • 1
  • 2
  • 1
  • 2

在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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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=""
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

3.修改配置文件/etc/kubernetes/controller-manager,定义slave主机ip地址

KUBELET_ADDRESSES="--machines=XX.XX.XX.182"
  • 1
  • 1

在master主机上,启动服务

执行如下命令,批量启动服务

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do    systemctl restart $SERVICES    systemctl enable $SERVICES    systemctl status $SERVICESdone
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

slave节点配置

注意:slave节点主机,要安装Docker,docker版本1.7以上

yum 安装kubernetes

yum -y install --enablerepo=virt7-docker-common-release kubernetes flannel
  • 1
  • 1

1.修改kubernetes配置文件,指定master。

$ cat /etc/kubernetes/configKUBE_MASTER="--master=http://XX.XX.XX.179:8080"
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在slave主机上,启动服务

for SERVICES in kube-proxy kubelet docker flanneld; do    systemctl restart $SERVICES    systemctl enable $SERVICES    systemctl status $SERVICESdone
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

验证

现在登陆master,确认slave的状态

$ kubectl get nodesNAME           LABELS                                STATUS    AGE10.16.93.182   kubernetes.io/hostname=XX.XX.XX.182   Ready     1h
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

参考文献

  • http://www.mamicode.com/info-detail-1129211.html
  • http://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/
原创粉丝点击