CentOS7.2安装Kubernetes1.03的详细步骤

本篇内容介绍了“CentOS7.2安装Kubernetes1.03的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站是一家专业从事网站建设、成都网站设计、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联建站依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!

截止2015年9月1日,CentOS 已经把 Kubernetes 加入官方源,所以现在安装Kubernetes已经方便很多。

各组件版本如下:

Kubernetes-1.03
docker-1.8.2
flannel-0.5.3
etcd-2.1.1

Kubernetes部署环境角色如下:

CentOS 7.2 64位系统,3台虚拟机:
master:192.168.32.15
minion1:192.168.32.16
minion2:192.168.32.17

1. 预处理

每台机器禁用iptables 避免和docker 的iptables冲突:

systemctl stop firewalld
systemctl disable firewalld

禁用selinux:

vim /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled

在2个minions机器安装docker:

yum -y install docker
yum -y update
reboot

CentOS系统,使用devicemapper作为存储后端,初始安装docker 会使用loopback, 导致docker启动报错,需要update之后再启动。

Docker启动脚本更新

vim /etc/sysconfig/docker

添加:-H tcp://0.0.0.0:2375,最终配置如下,以便以后提供远程API维护:

OPTIONS=--selinux-enabled -H tcp://0.0.0.0:2375 -H fd://

提前说明一下,kubernetes运行pods时需要连带运行一个叫pause的镜像,需要先从docker.io上下载此镜像,然后用docker命令改名字:

docker pull docker.io/kubernetes/pause
docker tag kubernetes/pause gcr.io/google_containers/pause:0.8.0
docker tag gcr.io/google_containers/pause:0.8.0 gcr.io/google_containers/pause

2. master结点的安装与配置

安装etcd与kubernetes-master:

yum -y install etcd kubernetes-master

修改etcd配置文件:

# egrep -v “^#” /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"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.32.15:2379"

修改kube-master配置文件:

# egrep -v ‘^#’ /etc/kubernetes/apiserver | grep -v ‘^$’
KUBE_API_ADDRESS="--address=0.0.0.0"
KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.32.15:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
KUBE_API_ARGS=""
# egrep -v ‘^#’ /etc/kubernetes/controller-manager |grep -v ‘^$’
KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"
[root@localhost ~]# egrep -v ‘^#’ /etc/kubernetes/config | egrep -v ‘^$’
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow_privileged=false"
KUBE_MASTER="--master=http://192.168.32.15:8080"

启动服务:

systemctl enable etcd kube-apiserver kube-scheduler kube-controller-manager
systemctl start etcd kube-apiserver kube-scheduler kube-controller-manager

定义flannel网络配置到etcd,这个配置会推送到各个minions的flannel服务上:

etcdctl mk /coreos.com/network/config '{"Network":"172.17.0.0/16"}'

3. minion结点的安装与配置

yum -y install kubernetes-node flannel

修改kube-node和flannel配置文件:

# egrep -v ‘^#’ /etc/kubernetes/config | grep -v ‘^$’
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow_privileged=false"
KUBE_MASTER="--master=http://192.168.32.15:8080"
# egrep -v ‘^#’ /etc/kubernetes/kubelet | grep -v ‘^$’
KUBELET_ADDRESS="--address=127.0.0.1"
KUBELET_HOSTNAME="--hostname_override=192.168.32.16"
KUBELET_API_SERVER="--api_servers=http://192.168.32.15:8080"
KUBELET_ARGS="--pod-infra-container-image=kubernetes/pause"

为etcd服务配置flannel,修改配置文件 /etc/sysconfig/flanneld:

FLANNEL_ETCD="http://192.168.32.15:2379"
FLANNEL_ETCD_KEY="/coreos.com/network"

启动服务:

systemctl enable flanenld kubelet kube-proxy
systemctl restart flanneld docker
systemctl start kubelet kube-proxy

在每个minions可以看到2块网卡:docker0和flannel0,这2块网卡的ip在不同的机器ip地址不同:

#minion1
4: flannel0:  mtu 1472 qdisc pfifo_fast state UNKNOWN qlen 500
    link/none 
    inet 172.17.98.0/16 scope global flannel0
       valid_lft forever preferred_lft forever
5: docker0:  mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:9a:01:ca:99 brd ff:ff:ff:ff:ff:ff
    inet 172.17.98.1/24 scope global docker0
       valid_lft forever preferred_lft forever

#minion2
4: flannel0:  mtu 1472 qdisc pfifo_fast state UNKNOWN qlen 500
    link/none 
    inet 172.17.67.0/16 scope global flannel0
       valid_lft forever preferred_lft forever
5: docker0:  mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:25:be:ba:64 brd ff:ff:ff:ff:ff:ff
    inet 172.17.67.1/24 scope global docker0
       valid_lft forever preferred_lft forever

4. 检查状态

登陆master,确认minions的状态:

[root@master ~]# kubectl get nodes
NAME            LABELS                                 STATUS
192.168.32.16   kubernetes.io/hostname=192.168.32.16   Ready
192.168.32.17   kubernetes.io/hostname=192.168.32.17   Ready

“CentOS7.2安装Kubernetes1.03的详细步骤”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享标题:CentOS7.2安装Kubernetes1.03的详细步骤
网站网址:http://hbruida.cn/article/jgcogo.html