Centos部署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
 
 
  • 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-release
baseurl=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/config


KUBE_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 firewalld
systemctl stop iptables-services firewalld
 
 
  • 1
  • 2
  • 1
  • 2

在master节点配置kubernetes服务

1.修改配置文件/etc/etcd/etcd.conf,确保etcd监听所有地址。内容如下:

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

2.修改配置文件/etc/kubernetes/apiserver

cat /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=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 $SERVICES
done
 
 
  • 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/config


KUBE_MASTER="--master=http://XX.XX.XX.179:8080"
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

2.配置kubelet服务。

$ cat /etc/kubernetes/kubelet


KUBELET_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 $SERVICES
done
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

验证

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

$ kubectl get nodes

NAME           LABELS                                STATUS    AGE
10.16.93.182   kubernetes.io/hostname=XX.XX.XX.182   Ready     1h
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值