部署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

创建yum源

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

登录master/slave主机:

vi  virt7-docker-common-release.repo

加入以下内容:

[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=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 etcd

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"

禁用防火墙

systemctl disable iptables-services firewalld
systemctl stop iptables-services firewalld

在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"

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=""

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 $SERVICES
done

slave节点配置

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

yum 安装kubernetes

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

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

$ cat /etc/kubernetes/config


KUBE_MASTER="--master=http://XX.XX.XX.179:8080"

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"

在slave主机上,启动服务

for SERVICES in kube-proxy kubelet docker flanneld; do
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES
done

验证

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

$ kubectl get nodes

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

参考文献

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐