说明:
本文用于记录在CentOS 7.2上,安装配置kubernetes的过程和步骤。部署的2个机器:
IP | OS level | Kernel version | usage |
172.16.11.36 | CentOS Linux release 7.2.1511 (Core) | 3.10.0-327.el7.x86_64 x86_64 | kubernetes master节点 |
172.16.11.29 | CentOS Linux release 7.2.1511 (Core) | 3.10.0-327.el7.x86_64 x86_64 | kubernetes node节点,或者叫worker节点 |
下文中,提到的master节点,指在172.16.11.36机器上操作,node节点,指在172.16.11.29机器,所有节点指这2台机器。
关于kubernetes的基础,简单说明:
master节点运行:kube-apiserver、kube-controller-manager、kube-scheduler
node节点运行:kube-proxy、kubelet
这些服务通过systemd来管理,其配置文件位于/etc/kubernets。
安装步骤:
1 所有节点:vi /etc/yum.repos.d/virt7-docker-common-release.repo
[root@localhost ~]# cat /etc/yum.repos.d/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 [root@localhost ~]#
2 所有节点:Install Kubernetes, etcd and flannel on all hosts.This will also pull in docker and cadvisor.
yum -y install –enablerepo=virt7-docker-common-release kubernetes etcd flannel
该命令同样会在机器上安装docker[版本为1.12.6],如果机器上之前已经有安装其它版本docker的话,则可能会出现冲突,如下:
... --> 处理 docker-ce-17.06.0.ce-1.el7.centos.x86_64 与 docker 的冲突 --> 正在使用新的信息重新解决依赖关系 --> 正在检查事务 ---> 软件包 docker-ce.x86_64.0.17.06.0.ce-1.el7.centos 将被 升级 ---> 软件包 docker-ce.x86_64.0.17.09.1.ce-1.el7.centos 将被 更新 --> 处理 docker-ce-17.09.1.ce-1.el7.centos.x86_64 与 docker-io 的冲突 --> 处理 docker-ce-17.09.1.ce-1.el7.centos.x86_64 与 docker 的冲突 --> 解决依赖关系完成 错误:docker-ce conflicts with 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 您可以尝试添加 --skip-broken 选项来解决该问题 ** 发现 6 个已存在的 RPM 数据库问题, 'yum check' 输出如下: cloog-ppl-0.15.7-1.2.el6.x86_64 有缺少的需求 libgmp.so.3()(64bit) createrepo-0.9.9-26.el6.noarch 有缺少的需求 python(abi) = ('0', '2.6', None) libgcj-4.4.7-17.el6.x86_64 有缺少的需求 libgmp.so.3()(64bit) ppl-0.10.2-11.el6.x86_64 有缺少的需求 libgmp.so.3()(64bit) 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch 有缺少的需求 preupgrade-assistant >= ('0', '1.0.2', '4') 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch 有缺少的需求 python(abi) = ('0', '2.6', None) [root@localhost ~]#
我这里的解决办法是,删除之前安装的CE版本的docker。
[root@localhost ~]# rpm -qa|grep docker docker-ce-17.06.0.ce-1.el7.centos.x86_64 [root@localhost ~]# rpm -e docker-ce-17.06.0.ce-1.el7.centos.x86_64 [root@localhost ~]# docker -v -bash: /usr/bin/docker: 没有那个文件或目录 [root@localhost ~]#
解决冲突之后,继续执行安装:
[root@localhost ~]# yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.cn99.com * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 etcd.x86_64.0.3.2.9-3.el7 将被 安装 ---> 软件包 flannel.x86_64.0.0.7.1-2.el7 将被 安装 ---> 软件包 kubernetes.x86_64.0.1.5.2-0.7.git269f928.el7 将被 安装 --> 正在处理依赖关系 kubernetes-node = 1.5.2-0.7.git269f928.el7,它被软件包 kubernetes-1.5.2-0.7.git269f928.el7.x86_64 需要 --> 正在处理依赖关系 kubernetes-master = 1.5.2-0.7.git269f928.el7,它被软件包 kubernetes-1.5.2-0.7.git269f928.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 kubernetes-master.x86_64.0.1.5.2-0.7.git269f928.el7 将被 安装 --> 正在处理依赖关系 kubernetes-client = 1.5.2-0.7.git269f928.el7,它被软件包 kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64 需要 ---> 软件包 kubernetes-node.x86_64.0.1.5.2-0.7.git269f928.el7 将被 安装 --> 正在处理依赖关系 socat,它被软件包 kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 需要 --> 正在处理依赖关系 docker,它被软件包 kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 需要 --> 正在处理依赖关系 conntrack-tools,它被软件包 kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 conntrack-tools.x86_64.0.1.4.4-3.el7_3 将被 安装 --> 正在处理依赖关系 libnetfilter_conntrack >= 1.0.6,它被软件包 conntrack-tools-1.4.4-3.el7_3.x86_64 需要 --> 正在处理依赖关系 libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.1)(64bit),它被软件包 conntrack-tools-1.4.4-3.el7_3.x86_64 需要 --> 正在处理依赖关系 libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.0)(64bit),它被软件包 conntrack-tools-1.4.4-3.el7_3.x86_64 需要 --> 正在处理依赖关系 libnetfilter_cthelper.so.0(LIBNETFILTER_CTHELPER_1.0)(64bit),它被软件包 conntrack-tools-1.4.4-3.el7_3.x86_64 需要 --> 正在处理依赖关系 libnetfilter_queue.so.1()(64bit),它被软件包 conntrack-tools-1.4.4-3.el7_3.x86_64 需要 --> 正在处理依赖关系 libnetfilter_cttimeout.so.1()(64bit),它被软件包 conntrack-tools-1.4.4-3.el7_3.x86_64 需要 --> 正在处理依赖关系 libnetfilter_cthelper.so.0()(64bit),它被软件包 conntrack-tools-1.4.4-3.el7_3.x86_64 需要 ---> 软件包 docker.x86_64.2.1.12.6-68.gitec8512b.el7.centos 将被 安装 --> 正在处理依赖关系 docker-common = 2:1.12.6-68.gitec8512b.el7.centos,它被软件包 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 需要 --> 正在处理依赖关系 docker-client = 2:1.12.6-68.gitec8512b.el7.centos,它被软件包 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 需要 ---> 软件包 kubernetes-client.x86_64.0.1.5.2-0.7.git269f928.el7 将被 安装 ---> 软件包 socat.x86_64.0.1.7.3.2-2.el7 将被 安装 --> 正在检查事务 ---> 软件包 docker-client.x86_64.2.1.12.6-68.gitec8512b.el7.centos 将被 安装 ---> 软件包 docker-common.x86_64.2.1.12.6-68.gitec8512b.el7.centos 将被 安装 --> 正在处理依赖关系 oci-umount >= 2:2.0.0-1,它被软件包 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64 需要 --> 正在处理依赖关系 container-storage-setup >= 0.7.0-1,它被软件包 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64 需要 --> 正在处理依赖关系 container-selinux >= 2:2.21-2,它被软件包 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64 需要 ---> 软件包 libnetfilter_conntrack.x86_64.0.1.0.4-2.el7 将被 升级 ---> 软件包 libnetfilter_conntrack.x86_64.0.1.0.6-1.el7_3 将被 更新 ---> 软件包 libnetfilter_cthelper.x86_64.0.1.0.0-9.el7 将被 安装 ---> 软件包 libnetfilter_cttimeout.x86_64.0.1.0.0-6.el7 将被 安装 ---> 软件包 libnetfilter_queue.x86_64.0.1.0.2-2.el7_2 将被 安装 --> 正在检查事务 ---> 软件包 container-selinux.noarch.2.2.19-2.1.el7 将被 升级 ---> 软件包 container-selinux.noarch.2.2.33-1.git86f33cd.el7 将被 更新 ---> 软件包 container-storage-setup.noarch.0.0.8.0-3.git1d27ecf.el7 将被 安装 --> 正在处理依赖关系 parted,它被软件包 container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch 需要 ---> 软件包 oci-umount.x86_64.2.2.3.0-1.git51e7c50.el7 将被 安装 --> 正在检查事务 ---> 软件包 parted.x86_64.0.3.1-28.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ================================================================================================================================= Package 架构 版本 源 大小 ================================================================================================================================= 正在安装: etcd x86_64 3.2.9-3.el7 extras 8.8 M flannel x86_64 0.7.1-2.el7 extras 6.6 M kubernetes x86_64 1.5.2-0.7.git269f928.el7 extras 36 k 为依赖而安装: conntrack-tools x86_64 1.4.4-3.el7_3 base 186 k container-storage-setup noarch 0.8.0-3.git1d27ecf.el7 extras 33 k docker x86_64 2:1.12.6-68.gitec8512b.el7.centos extras 15 M docker-client x86_64 2:1.12.6-68.gitec8512b.el7.centos extras 3.4 M docker-common x86_64 2:1.12.6-68.gitec8512b.el7.centos extras 82 k kubernetes-client x86_64 1.5.2-0.7.git269f928.el7 extras 14 M kubernetes-master x86_64 1.5.2-0.7.git269f928.el7 extras 25 M kubernetes-node x86_64 1.5.2-0.7.git269f928.el7 extras 14 M libnetfilter_cthelper x86_64 1.0.0-9.el7 base 18 k libnetfilter_cttimeout x86_64 1.0.0-6.el7 base 18 k libnetfilter_queue x86_64 1.0.2-2.el7_2 base 23 k oci-umount x86_64 2:2.3.0-1.git51e7c50.el7 extras 30 k parted x86_64 3.1-28.el7 base 607 k socat x86_64 1.7.3.2-2.el7 base 290 k 为依赖而更新: container-selinux noarch 2:2.33-1.git86f33cd.el7 extras 31 k libnetfilter_conntrack x86_64 1.0.6-1.el7_3 base 55 k 事务概要 ================================================================================================================================= 安装 3 软件包 (+14 依赖软件包) 升级 ( 2 依赖软件包) 总下载量:88 M Downloading packages: Not downloading deltainfo for extras, MD is 71 k and rpms are 31 k No Presto metadata available for base (1/19): container-selinux-2.33-1.git86f33cd.el7.noarch.rpm | 31 kB 00:00:00 (2/19): container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch.rpm | 33 kB 00:00:00 (3/19): docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm | 82 kB 00:00:00 (4/19): conntrack-tools-1.4.4-3.el7_3.x86_64.rpm | 186 kB 00:00:00 (5/19): kubernetes-1.5.2-0.7.git269f928.el7.x86_64.rpm | 36 kB 00:00:00 (6/19): docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm | 3.4 MB 00:00:01 (7/19): docker-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm | 15 MB 00:00:05 (8/19): flannel-0.7.1-2.el7.x86_64.rpm | 6.6 MB 00:00:05 (9/19): libnetfilter_conntrack-1.0.6-1.el7_3.x86_64.rpm | 55 kB 00:00:00 (10/19): libnetfilter_cthelper-1.0.0-9.el7.x86_64.rpm | 18 kB 00:00:00 (11/19): libnetfilter_cttimeout-1.0.0-6.el7.x86_64.rpm | 18 kB 00:00:00 (12/19): libnetfilter_queue-1.0.2-2.el7_2.x86_64.rpm | 23 kB 00:00:00 (13/19): kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64.rpm | 14 MB 00:00:06 (14/19): oci-umount-2.3.0-1.git51e7c50.el7.x86_64.rpm | 30 kB 00:00:00 (15/19): parted-3.1-28.el7.x86_64.rpm | 607 kB 00:00:00 (16/19): socat-1.7.3.2-2.el7.x86_64.rpm | 290 kB 00:00:01 (17/19): kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64.rpm | 14 MB 00:00:04 (18/19): etcd-3.2.9-3.el7.x86_64.rpm | 8.8 MB 00:00:11 (19/19): kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64.rpm | 25 MB 00:00:12 --------------------------------------------------------------------------------------------------------------------------------- 总计 6.2 MB/s | 88 MB 00:00:14 Running transaction check Running transaction test Transaction test succeeded Running transaction 警告:RPM 数据库已被非 yum 程序修改。 ** 发现 6 个已存在的 RPM 数据库问题, 'yum check' 输出如下: cloog-ppl-0.15.7-1.2.el6.x86_64 有缺少的需求 libgmp.so.3()(64bit) createrepo-0.9.9-26.el6.noarch 有缺少的需求 python(abi) = ('0', '2.6', None) libgcj-4.4.7-17.el6.x86_64 有缺少的需求 libgmp.so.3()(64bit) ppl-0.10.2-11.el6.x86_64 有缺少的需求 libgmp.so.3()(64bit) 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch 有缺少的需求 preupgrade-assistant >= ('0', '1.0.2', '4') 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch 有缺少的需求 python(abi) = ('0', '2.6', None) 正在安装 : kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64 1/21 正在安装 : kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64 2/21 正在更新 : libnetfilter_conntrack-1.0.6-1.el7_3.x86_64 3/21 正在安装 : socat-1.7.3.2-2.el7.x86_64 4/21 正在安装 : parted-3.1-28.el7.x86_64 5/21 正在安装 : container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch 6/21 正在安装 : libnetfilter_cthelper-1.0.0-9.el7.x86_64 7/21 正在更新 : 2:container-selinux-2.33-1.git86f33cd.el7.noarch 8/21 正在安装 : libnetfilter_queue-1.0.2-2.el7_2.x86_64 9/21 正在安装 : 2:oci-umount-2.3.0-1.git51e7c50.el7.x86_64 10/21 正在安装 : 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64 11/21 正在安装 : 2:docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64 12/21 正在安装 : 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 13/21 warning: /etc/docker/daemon.json created as /etc/docker/daemon.json.rpmnew 正在安装 : libnetfilter_cttimeout-1.0.0-6.el7.x86_64 14/21 正在安装 : conntrack-tools-1.4.4-3.el7_3.x86_64 15/21 正在安装 : kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 16/21 正在安装 : kubernetes-1.5.2-0.7.git269f928.el7.x86_64 17/21 正在安装 : etcd-3.2.9-3.el7.x86_64 18/21 正在安装 : flannel-0.7.1-2.el7.x86_64 19/21 清理 : 2:container-selinux-2.19-2.1.el7.noarch 20/21 清理 : libnetfilter_conntrack-1.0.4-2.el7.x86_64 21/21 验证中 : 2:docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64 1/21 验证中 : container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch 2/21 验证中 : libnetfilter_cttimeout-1.0.0-6.el7.x86_64 3/21 验证中 : 2:oci-umount-2.3.0-1.git51e7c50.el7.x86_64 4/21 验证中 : flannel-0.7.1-2.el7.x86_64 5/21 验证中 : libnetfilter_queue-1.0.2-2.el7_2.x86_64 6/21 验证中 : 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64 7/21 验证中 : kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 8/21 验证中 : kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64 9/21 验证中 : 2:container-selinux-2.33-1.git86f33cd.el7.noarch 10/21 验证中 : kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64 11/21 验证中 : etcd-3.2.9-3.el7.x86_64 12/21 验证中 : libnetfilter_cthelper-1.0.0-9.el7.x86_64 13/21 验证中 : parted-3.1-28.el7.x86_64 14/21 验证中 : conntrack-tools-1.4.4-3.el7_3.x86_64 15/21 验证中 : socat-1.7.3.2-2.el7.x86_64 16/21 验证中 : libnetfilter_conntrack-1.0.6-1.el7_3.x86_64 17/21 验证中 : 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 18/21 验证中 : kubernetes-1.5.2-0.7.git269f928.el7.x86_64 19/21 验证中 : 2:container-selinux-2.19-2.1.el7.noarch 20/21 验证中 : libnetfilter_conntrack-1.0.4-2.el7.x86_64 21/21 已安装: etcd.x86_64 0:3.2.9-3.el7 flannel.x86_64 0:0.7.1-2.el7 kubernetes.x86_64 0:1.5.2-0.7.git269f928.el7 作为依赖被安装: conntrack-tools.x86_64 0:1.4.4-3.el7_3 container-storage-setup.noarch 0:0.8.0-3.git1d27ecf.el7 docker.x86_64 2:1.12.6-68.gitec8512b.el7.centos docker-client.x86_64 2:1.12.6-68.gitec8512b.el7.centos docker-common.x86_64 2:1.12.6-68.gitec8512b.el7.centos kubernetes-client.x86_64 0:1.5.2-0.7.git269f928.el7 kubernetes-master.x86_64 0:1.5.2-0.7.git269f928.el7 kubernetes-node.x86_64 0:1.5.2-0.7.git269f928.el7 libnetfilter_cthelper.x86_64 0:1.0.0-9.el7 libnetfilter_cttimeout.x86_64 0:1.0.0-6.el7 libnetfilter_queue.x86_64 0:1.0.2-2.el7_2 oci-umount.x86_64 2:2.3.0-1.git51e7c50.el7 parted.x86_64 0:3.1-28.el7 socat.x86_64 0:1.7.3.2-2.el7 作为依赖被升级: container-selinux.noarch 2:2.33-1.git86f33cd.el7 libnetfilter_conntrack.x86_64 0:1.0.6-1.el7_3 完毕! [root@localhost ~]# [root@localhost ~]# docker -v Docker version 1.12.6, build ec8512b/1.12.6 [root@localhost ~]#
3 配置所有节点的hosts文件,
[root@localhost ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.11.36 centos-master 172.16.11.29 centos-minion-1 [root@localhost ~]#
4 所有节点 Edit /etc/kubernetes/config which will be the same on all hosts to contain
[root@localhost ~]# vi /etc/kubernetes/config ### # kubernetes system config # # The following values are used to configure various aspects of all # kubernetes services, including # # kube-apiserver.service # kube-controller-manager.service # kube-scheduler.service # kubelet.service # kube-proxy.service # logging to stderr means we get it in the systemd journal KUBE_LOGTOSTDERR="--logtostderr=true" # journal message level, 0 is debug KUBE_LOG_LEVEL="--v=0" # Should this cluster be allowed to run privileged docker containers KUBE_ALLOW_PRIV="--allow-privileged=false" # How the controller-manager, scheduler, and proxy find the apiserver KUBE_MASTER="--master=http://centos-master:8080"
这里,其实,就是把该文件的最后一行从
KUBE_MASTER=”–master=http://127.0.0.1:8080″
改为:
KUBE_MASTER=”–master=http://centos-master:8080″ 。
5 关闭所有节点的SELinux和防火墙
setenforce 0 systemctl disable iptables-services firewalld systemctl stop iptables-services firewalld
6 只修改master节点的 /etc/etcd/etcd.conf包含下列,其它不变:
# [member] ETCD_NAME=default ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" #[cluster] ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
7 只修改master节点的/etc/kubernetes/apiserver包含下列,其它不变:
# The address on the local server to listen to. KUBE_API_ADDRESS="--address=0.0.0.0" # The port on the local server to listen on. KUBE_API_PORT="--port=8080" # Port kubelets listen on KUBELET_PORT="--kubelet-port=10250" # Comma separated list of nodes in the etcd cluster KUBE_ETCD_SERVERS="--etcd-servers=http://centos-master:2379" # Address range to use for services KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" # Add your own! KUBE_API_ARGS=""
8 master节点上,启动ETCD服务
systemctl start etcd etcdctl mkdir /kube-centos/network etcdctl mk /kube-centos/network/config "{ \"Network\": \"172.30.0.0/16\", \"SubnetLen\": 24, \"Backend\": { \"Type\": \"vxlan\" } }"
9 master节点修改/etc/sysconfig/flanneld
[root@localhost ~]# cat /etc/sysconfig/flanneld # Flanneld configuration options # etcd url location. Point this to the server where etcd runs FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379" # etcd config key. This is the configuration key that flannel queries # For address range assignment FLANNEL_ETCD_PREFIX="/kube-centos/network" # Any additional options that you want to pass #FLANNEL_OPTIONS="" [root@localhost ~]#
10 master节点启动服务
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do systemctl restart $SERVICES systemctl enable $SERVICES systemctl status $SERVICES done
11 node节点修改/etc/kubernetes/kubelet
[root@dev-malay-29 ~]# cat /etc/kubernetes/kubelet ### # kubernetes kubelet (minion) config # The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces) KUBELET_ADDRESS="--address=0.0.0.0" # The port for the info server to serve on # KUBELET_PORT="--port=10250" # You may leave this blank to use the actual hostname KUBELET_HOSTNAME="--hostname-override=centos-minion-1" # location of the api-server KUBELET_API_SERVER="--api-servers=http://centos-master:8080" # pod infrastructure container KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest" # Add your own! KUBELET_ARGS="" [root@dev-malay-29 ~]#
KUBELET_HOSTNAME=”–hostname-override=centos-minion-1″依实际情况调整。这里的值,是步骤3中指定的机器名,如果有多个node节点的话,则同样依照实际情况调整来配置。
12 node节点修改/etc/sysconfig/flanneld
[root@dev-malay-29 ~]# cat /etc/sysconfig/flanneld # Flanneld configuration options # etcd url location. Point this to the server where etcd runs FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379" # etcd config key. This is the configuration key that flannel queries # For address range assignment FLANNEL_ETCD_PREFIX="/kube-centos/network" # Any additional options that you want to pass #FLANNEL_OPTIONS="" [root@dev-malay-29 ~]#
13 node节点启动服务
for SERVICES in kube-proxy kubelet flanneld docker; do systemctl restart $SERVICES systemctl enable $SERVICES systemctl status $SERVICES done
14 node节点配置kubectl
kubectl config set-cluster default-cluster --server=http://centos-master:8080 kubectl config set-context default-context --cluster=default-cluster --user=default-admin kubectl config use-context default-context ... [root@dev-malay-29 ~]# kubectl config set-cluster default-cluster --server=http://centos-master:8080 Cluster "default-cluster" set. [root@dev-malay-29 ~]# kubectl config set-context default-context --cluster=default-cluster --user=default-admin Context "default-context" set. [root@dev-malay-29 ~]# kubectl config use-context default-context Switched to context "default-context". [root@dev-malay-29 ~]#
15 验证
master、node都可以通过执行下述命令来验证:
kubectl get nodes
[root@localhost manifests]# kubectl get nodes NAME STATUS AGE centos-minion-1 NotReady 2s [root@localhost manifests]# [root@dev-malay-29 ~]# kubectl get nodes NAME STATUS AGE centos-minion-1 Ready 12s [root@dev-malay-29 ~]#
16 参考引用
https://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/
至此,在Centos7上完成了部署一个master节点,一个node节点的kubernetes环境。