VMware安装CentOS7+k8s过程记录
目录写在前面1.安装CentOS72.关闭SELinux 3.防火墙 4.yum源安装epel5.修改主机名6.安装k8s6.1 准备环境6.2 开始安装6.3 配置k8s的config6.4 配置master6.4.1 配置etcd 6.4.2 配置apiserver6.4.3 配置flannel...
目录
写在前面
如果首次安装且是学习目的的话,CentOS一定要装CentOS7,不能装7以下的版本,不然你会发现网上很多博客里的安装方法都不管用。我之前就是用的CentOS6.1,但是发现一直装不上,尤其是使用yum安装的时候,根本就找不到任何安装包。后来偶然看到一篇关于在CentOS6.5上安装dockere及k8s的博文,才知道,7以下的内核需要升级之后才能安装,否则不行,如果现实中有必须在7以下系统中安装的情况,可以参考这里。
我本次安装的环境为在本机装了两台CentOS7的虚拟机,主机信息如下:
ID | 主机IP | 主机名 | 备注 |
---|---|---|---|
1 | 192.168.1.159 | k8s-master | master |
2 | 192.168.1.160 | k8s-salve | node |
etcd | etcd.x86_64 0:3.2.22-1.el7 |
---|---|
flannel | flannel.x86_64 0:0.7.1-4.el7 |
kubernetes | kubernetes.x86_64 0:1.5.2-0.7.git269f928.el7 |
1.安装CentOS7
这里提供一个下载链接,如果需要下载,点我。另外,在新建虚拟机的时候,网络选择桥接模式,这样就能和宿主主机共享网络,双方能互通。
基本步骤如下:
(1)加载后选择第一项,Install CentOS7
(2)选择中文-简体中文
(3)安装信息摘要页面,稍等下,安装位置里面选择好硬盘即可
(4)设置下ROOT密码,不用创建新用户,然后就是等大概30分钟左右,系统安装成功
(5)开启网卡,设置静态IP,输入如下命令
[root@k8s-master /]# cd /etc/sysconfig/network-scripts
[root@k8s-master /]# vi ifcfg-ens33
修改的内容如下:
ONBOOT=yes #打开网卡
BOOTPROTO=static #修改为静态ip
ZONE=public firewalld zone=piblic
PADDR=192.168.1.160 #设置本机IP地址
ATEWAY=192.168.1.1 #设置网关,和宿主主机保持一致
ETMASK=255.255.255.0 #设置子网掩码
DNS1=202.102.224.68 #设置DNS1
DNS2=202.102.227.68 #设置NDS2
修改完毕 ESC :wq 保存,然后重启网络,并查看ip以及使用ping查看网络是否成功,具体命令如下。
[root@k8s-master /]# systemctl restart network
[root@k8s-master /]# ip addr
[root@k8s-master /]# ping www.baidu.com
至此安装成功。
2.关闭SELinux
getenforce #查看状态 Enforcing 说明开启
setenforce 0 #临时关闭
vi /etc/selinux/config #修改 SELINUX=disable ECS :wq reboot永久生效
3.防火墙
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁止开机自启
systemctl status firewalld #查看防火墙状态
4.yum源安装epel
yum repolist #查看
#安装epel,使用如下命令即可
yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum makecache #缓存至电脑本地,提高安装速度
5.修改主机名
分别对两台主机都进行主机名的修改,master为k8s-master,node为k8s-slave,操作命令如下:
hostname #查看主机名
hostnamectl set-hostname k8s-master #设置主机名立即生效
exec bash #刷新显示生效
vi /etc/hosts
127.0.0.1 localhost k8s-slave localhost4 localhost4.localdomain4
::1 localhost k8s-slave localhost6 localhost6.localdomain6
192.168.1.159 k8s-master
192.168.1.160 k8s-slave
cat /etc/hosts #查看
6.安装k8s
两台主机上的前期的安装操作都一样,都要先设置环境,进行安装,配置k8s的config.
6.1 准备环境
分别在每台主机上进行如下命令操作,新增一个/etc/yum.repos.d/virt7-docker-common-release.repo文件
vi /etc/yum.repos.d/virt7-docker-common-release.repo
# i 输入以下内容
[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/
gpgcheck=0
#ESC :wq
6.2 开始安装
前面设置好之后,使用yum进行安装,相对比较简单一些,操作命令如下:
yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel
PS:正常情况下,刷刷刷就正常安装了,下面贴一下我的安装过程。
[root@k8s-master /]# yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* epel: mirrors.aliyun.com
* extras: mirror.lzu.edu.cn
* remi-safe: mirrors.tuna.tsinghua.edu.cn
* updates: mirror.lzu.edu.cn
virt7-docker-common-release | 3.4 kB 00:00:00
virt7-docker-common-release/primary_db | 13 kB 00:00:07
正在解决依赖关系
--> 正在检查事务
---> 软件包 etcd.x86_64.0.3.2.22-1.el7 将被 安装
---> 软件包 flannel.x86_64.0.0.7.1-4.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-4.el7 将被 安装
--> 正在处理依赖关系 libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.1)(64bit),它被软件包 conntrack-tools-1.4.4-4.el7.x86_64 需要
--> 正在处理依赖关系 libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.0)(64bit),它被软件包 conntrack-tools-1.4.4-4.el7.x86_64 需要
--> 正在处理依赖关系 libnetfilter_cthelper.so.0(LIBNETFILTER_CTHELPER_1.0)(64bit),它被软件包 conntrack-tools-1.4.4-4.el7.x86_64 需要
--> 正在处理依赖关系 libnetfilter_queue.so.1()(64bit),它被软件包 conntrack-tools-1.4.4-4.el7.x86_64 需要
--> 正在处理依赖关系 libnetfilter_cttimeout.so.1()(64bit),它被软件包 conntrack-tools-1.4.4-4.el7.x86_64 需要
--> 正在处理依赖关系 libnetfilter_cthelper.so.0()(64bit),它被软件包 conntrack-tools-1.4.4-4.el7.x86_64 需要
---> 软件包 docker.x86_64.2.1.13.1-88.git07f3374.el7.centos 将被 安装
--> 正在处理依赖关系 docker-common = 2:1.13.1-88.git07f3374.el7.centos,它被软件包 2:docker-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 docker-client = 2:1.13.1-88.git07f3374.el7.centos,它被软件包 2:docker-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 subscription-manager-rhsm-certificates,它被软件包 2:docker-1.13.1-88.git07f3374.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.13.1-88.git07f3374.el7.centos 将被 安装
---> 软件包 docker-common.x86_64.2.1.13.1-88.git07f3374.el7.centos 将被 安装
--> 正在处理依赖关系 skopeo-containers >= 1:0.1.26-2,它被软件包 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-umount >= 2:2.3.3-3,它被软件包 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-systemd-hook >= 1:0.1.4-9,它被软件包 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-register-machine >= 1:0-5.13,它被软件包 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 container-storage-setup >= 0.9.0-1,它被软件包 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 container-selinux >= 2:2.51-1,它被软件包 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 需要
--> 正在处理依赖关系 atomic-registries,它被软件包 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 需要
---> 软件包 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 将被 安装
---> 软件包 subscription-manager-rhsm-certificates.x86_64.0.1.21.10-3.el7.centos 将被 安装
--> 正在检查事务
---> 软件包 atomic-registries.x86_64.1.1.22.1-26.gitb507039.el7.centos 将被 安装
--> 正在处理依赖关系 python-yaml,它被软件包 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 需要
--> 正在处理依赖关系 python-setuptools,它被软件包 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 需要
--> 正在处理依赖关系 python-pytoml,它被软件包 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 需要
---> 软件包 container-selinux.noarch.2.2.74-1.el7 将被 安装
--> 正在处理依赖关系 policycoreutils-python,它被软件包 2:container-selinux-2.74-1.el7.noarch 需要
---> 软件包 container-storage-setup.noarch.0.0.11.0-2.git5eaf76c.el7 将被 安装
---> 软件包 containers-common.x86_64.1.0.1.31-7.gitb0b750d.el7.centos 将被 安装
---> 软件包 oci-register-machine.x86_64.1.0-6.git2b44233.el7 将被 安装
---> 软件包 oci-systemd-hook.x86_64.1.0.1.18-2.git3efe246.el7 将被 安装
--> 正在处理依赖关系 libyajl.so.2()(64bit),它被软件包 1:oci-systemd-hook-0.1.18-2.git3efe246.el7.x86_64 需要
---> 软件包 oci-umount.x86_64.2.2.3.4-2.git87f9237.el7 将被 安装
--> 正在检查事务
---> 软件包 PyYAML.x86_64.0.3.10-11.el7 将被 安装
--> 正在处理依赖关系 libyaml-0.so.2()(64bit),它被软件包 PyYAML-3.10-11.el7.x86_64 需要
---> 软件包 policycoreutils-python.x86_64.0.2.5-29.el7 将被 安装
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 libsemanage-python >= 2.5-14,它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-4,它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)(64bit),它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)(64bit),它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 libcgroup,它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)(64bit),它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软件包 policycoreutils-python-2.5-29.el7.x86_64 需要
---> 软件包 python-pytoml.noarch.0.0.1.14-1.git7dea353.el7 将被 安装
---> 软件包 python-setuptools.noarch.0.0.9.8-7.el7 将被 安装
--> 正在处理依赖关系 python-backports-ssl_match_hostname,它被软件包 python-setuptools-0.9.8-7.el7.noarch 需要
---> 软件包 yajl.x86_64.0.2.0.4-4.el7 将被 安装
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.4-4.el7 将被 安装
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被 安装
---> 软件包 libcgroup.x86_64.0.0.41-20.el7 将被 安装
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 安装
---> 软件包 libyaml.x86_64.0.0.1.4-11.el7_0 将被 安装
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被 安装
---> 软件包 python-backports-ssl_match_hostname.noarch.0.3.5.0.1-1.el7 将被 安装
--> 正在处理依赖关系 python-ipaddress,它被软件包 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 需要
--> 正在处理依赖关系 python-backports,它被软件包 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 需要
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 安装
--> 正在检查事务
---> 软件包 python-backports.x86_64.0.1.0-8.el7 将被 安装
---> 软件包 python-ipaddress.noarch.0.1.0.16-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
====================================================================================================================================
Package 架构 版本 源 大小
====================================================================================================================================
正在安装:
etcd x86_64 3.2.22-1.el7 extras 9.3 M
flannel x86_64 0.7.1-4.el7 extras 7.5 M
kubernetes x86_64 1.5.2-0.7.git269f928.el7 extras 36 k
为依赖而安装:
PyYAML x86_64 3.10-11.el7 base 153 k
atomic-registries x86_64 1:1.22.1-26.gitb507039.el7.centos extras 35 k
audit-libs-python x86_64 2.8.4-4.el7 base 76 k
checkpolicy x86_64 2.5-8.el7 base 295 k
conntrack-tools x86_64 1.4.4-4.el7 base 186 k
container-selinux noarch 2:2.74-1.el7 extras 38 k
container-storage-setup noarch 0.11.0-2.git5eaf76c.el7 extras 35 k
containers-common x86_64 1:0.1.31-7.gitb0b750d.el7.centos extras 18 k
docker x86_64 2:1.13.1-88.git07f3374.el7.centos extras 17 M
docker-client x86_64 2:1.13.1-88.git07f3374.el7.centos extras 3.8 M
docker-common x86_64 2:1.13.1-88.git07f3374.el7.centos extras 95 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
libcgroup x86_64 0.41-20.el7 base 66 k
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
libsemanage-python x86_64 2.5-14.el7 base 113 k
libyaml x86_64 0.1.4-11.el7_0 base 55 k
oci-register-machine x86_64 1:0-6.git2b44233.el7 extras 1.1 M
oci-systemd-hook x86_64 1:0.1.18-2.git3efe246.el7 extras 34 k
oci-umount x86_64 2:2.3.4-2.git87f9237.el7 extras 32 k
policycoreutils-python x86_64 2.5-29.el7 base 456 k
python-IPy noarch 0.75-6.el7 base 32 k
python-backports x86_64 1.0-8.el7 base 5.8 k
python-backports-ssl_match_hostname noarch 3.5.0.1-1.el7 base 13 k
python-ipaddress noarch 1.0.16-2.el7 base 34 k
python-pytoml noarch 0.1.14-1.git7dea353.el7 extras 18 k
python-setuptools noarch 0.9.8-7.el7 base 397 k
setools-libs x86_64 3.3.8-4.el7 base 620 k
socat x86_64 1.7.3.2-2.el7 base 290 k
subscription-manager-rhsm-certificates x86_64 1.21.10-3.el7.centos updates 207 k
yajl x86_64 2.0.4-4.el7 base 39 k
事务概要
====================================================================================================================================
安装 3 软件包 (+34 依赖软件包)
总下载量:96 M
安装大小:476 M
Downloading packages:
(1/37): PyYAML-3.10-11.el7.x86_64.rpm | 153 kB 00:00:00
(2/37): atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64.rpm | 35 kB 00:00:00
(3/37): audit-libs-python-2.8.4-4.el7.x86_64.rpm | 76 kB 00:00:00
(4/37): container-storage-setup-0.11.0-2.git5eaf76c.el7.noarch.rpm | 35 kB 00:00:00
(5/37): checkpolicy-2.5-8.el7.x86_64.rpm | 295 kB 00:00:01
(6/37): conntrack-tools-1.4.4-4.el7.x86_64.rpm | 186 kB 00:00:00
(7/37): containers-common-0.1.31-7.gitb0b750d.el7.centos.x86_64.rpm | 18 kB 00:00:00
(8/37): container-selinux-2.74-1.el7.noarch.rpm | 38 kB 00:00:00
(9/37): docker-common-1.13.1-88.git07f3374.el7.centos.x86_64.rpm | 95 kB 00:00:00
(10/37): kubernetes-1.5.2-0.7.git269f928.el7.x86_64.rpm | 36 kB 00:00:00
(11/37): docker-client-1.13.1-88.git07f3374.el7.centos.x86_64.rpm | 3.8 MB 00:00:04
(12/37): etcd-3.2.22-1.el7.x86_64.rpm | 9.3 MB 00:00:07
(13/37): kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64.rpm | 14 MB 00:00:06
(14/37): libcgroup-0.41-20.el7.x86_64.rpm | 66 kB 00:00:00
(15/37): libnetfilter_cthelper-1.0.0-9.el7.x86_64.rpm | 18 kB 00:00:00
(16/37): libnetfilter_cttimeout-1.0.0-6.el7.x86_64.rpm | 18 kB 00:00:00
(17/37): libnetfilter_queue-1.0.2-2.el7_2.x86_64.rpm | 23 kB 00:00:00
(18/37): libsemanage-python-2.5-14.el7.x86_64.rpm | 113 kB 00:00:00
(19/37): libyaml-0.1.4-11.el7_0.x86_64.rpm | 55 kB 00:00:00
(20/37): oci-register-machine-0-6.git2b44233.el7.x86_64.rpm | 1.1 MB 00:00:01
(21/37): oci-systemd-hook-0.1.18-2.git3efe246.el7.x86_64.rpm | 34 kB 00:00:00
(22/37): oci-umount-2.3.4-2.git87f9237.el7.x86_64.rpm | 32 kB 00:00:00
(23/37): policycoreutils-python-2.5-29.el7.x86_64.rpm | 456 kB 00:00:00
(24/37): python-IPy-0.75-6.el7.noarch.rpm | 32 kB 00:00:00
(25/37): python-backports-1.0-8.el7.x86_64.rpm | 5.8 kB 00:00:00
(26/37): python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm | 13 kB 00:00:00
(27/37): python-ipaddress-1.0.16-2.el7.noarch.rpm | 34 kB 00:00:00
(28/37): python-pytoml-0.1.14-1.git7dea353.el7.noarch.rpm | 18 kB 00:00:00
(29/37): python-setuptools-0.9.8-7.el7.noarch.rpm | 397 kB 00:00:00
(30/37): setools-libs-3.3.8-4.el7.x86_64.rpm | 620 kB 00:00:02
(31/37): socat-1.7.3.2-2.el7.x86_64.rpm | 290 kB 00:00:00
(32/37): docker-1.13.1-88.git07f3374.el7.centos.x86_64.rpm | 17 MB 00:00:21
(33/37): subscription-manager-rhsm-certificates-1.21.10-3.el7.centos.x86_64.rpm | 207 kB 00:00:00
(34/37): flannel-0.7.1-4.el7.x86_64.rpm | 7.5 MB 00:00:22
(35/37): yajl-2.0.4-4.el7.x86_64.rpm | 39 kB 00:00:00
(36/37): kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64.rpm | 25 MB 00:00:22
(37/37): kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64.rpm | 14 MB 00:00:27
------------------------------------------------------------------------------------------------------------------------------------
总计 3.2 MB/s | 96 MB 00:00:29
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : yajl-2.0.4-4.el7.x86_64 1/37
正在安装 : kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64 2/37
正在安装 : kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64 3/37
正在安装 : 1:oci-systemd-hook-0.1.18-2.git3efe246.el7.x86_64 4/37
正在安装 : 2:oci-umount-2.3.4-2.git87f9237.el7.x86_64 5/37
正在安装 : socat-1.7.3.2-2.el7.x86_64 6/37
正在安装 : python-ipaddress-1.0.16-2.el7.noarch 7/37
正在安装 : libyaml-0.1.4-11.el7_0.x86_64 8/37
正在安装 : PyYAML-3.10-11.el7.x86_64 9/37
正在安装 : python-backports-1.0-8.el7.x86_64 10/37
正在安装 : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 11/37
正在安装 : python-setuptools-0.9.8-7.el7.noarch 12/37
正在安装 : 1:oci-register-machine-0-6.git2b44233.el7.x86_64 13/37
正在安装 : libsemanage-python-2.5-14.el7.x86_64 14/37
正在安装 : setools-libs-3.3.8-4.el7.x86_64 15/37
正在安装 : audit-libs-python-2.8.4-4.el7.x86_64 16/37
正在安装 : python-pytoml-0.1.14-1.git7dea353.el7.noarch 17/37
正在安装 : 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 18/37
正在安装 : python-IPy-0.75-6.el7.noarch 19/37
正在安装 : libnetfilter_queue-1.0.2-2.el7_2.x86_64 20/37
正在安装 : checkpolicy-2.5-8.el7.x86_64 21/37
正在安装 : subscription-manager-rhsm-certificates-1.21.10-3.el7.centos.x86_64 22/37
正在安装 : 1:containers-common-0.1.31-7.gitb0b750d.el7.centos.x86_64 23/37
正在安装 : container-storage-setup-0.11.0-2.git5eaf76c.el7.noarch 24/37
正在安装 : libnetfilter_cttimeout-1.0.0-6.el7.x86_64 25/37
正在安装 : libnetfilter_cthelper-1.0.0-9.el7.x86_64 26/37
正在安装 : conntrack-tools-1.4.4-4.el7.x86_64 27/37
正在安装 : libcgroup-0.41-20.el7.x86_64 28/37
正在安装 : policycoreutils-python-2.5-29.el7.x86_64 29/37
正在安装 : 2:container-selinux-2.74-1.el7.noarch 30/37
setsebool: SELinux is disabled.
正在安装 : 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 31/37
正在安装 : 2:docker-client-1.13.1-88.git07f3374.el7.centos.x86_64 32/37
正在安装 : 2:docker-1.13.1-88.git07f3374.el7.centos.x86_64 33/37
正在安装 : kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 34/37
正在安装 : kubernetes-1.5.2-0.7.git269f928.el7.x86_64 35/37
正在安装 : flannel-0.7.1-4.el7.x86_64 36/37
正在安装 : etcd-3.2.22-1.el7.x86_64 37/37
验证中 : libcgroup-0.41-20.el7.x86_64 1/37
验证中 : 1:oci-systemd-hook-0.1.18-2.git3efe246.el7.x86_64 2/37
验证中 : libnetfilter_cthelper-1.0.0-9.el7.x86_64 3/37
验证中 : 2:docker-client-1.13.1-88.git07f3374.el7.centos.x86_64 4/37
验证中 : libnetfilter_cttimeout-1.0.0-6.el7.x86_64 5/37
验证中 : container-storage-setup-0.11.0-2.git5eaf76c.el7.noarch 6/37
验证中 : 1:containers-common-0.1.31-7.gitb0b750d.el7.centos.x86_64 7/37
验证中 : 2:container-selinux-2.74-1.el7.noarch 8/37
验证中 : conntrack-tools-1.4.4-4.el7.x86_64 9/37
验证中 : python-setuptools-0.9.8-7.el7.noarch 10/37
验证中 : subscription-manager-rhsm-certificates-1.21.10-3.el7.centos.x86_64 11/37
验证中 : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 12/37
验证中 : 2:oci-umount-2.3.4-2.git87f9237.el7.x86_64 13/37
验证中 : checkpolicy-2.5-8.el7.x86_64 14/37
验证中 : libnetfilter_queue-1.0.2-2.el7_2.x86_64 15/37
验证中 : kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64 16/37
验证中 : python-IPy-0.75-6.el7.noarch 17/37
验证中 : 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 18/37
验证中 : 2:docker-common-1.13.1-88.git07f3374.el7.centos.x86_64 19/37
验证中 : python-pytoml-0.1.14-1.git7dea353.el7.noarch 20/37
验证中 : audit-libs-python-2.8.4-4.el7.x86_64 21/37
验证中 : etcd-3.2.22-1.el7.x86_64 22/37
验证中 : setools-libs-3.3.8-4.el7.x86_64 23/37
验证中 : 2:docker-1.13.1-88.git07f3374.el7.centos.x86_64 24/37
验证中 : libsemanage-python-2.5-14.el7.x86_64 25/37
验证中 : 1:oci-register-machine-0-6.git2b44233.el7.x86_64 26/37
验证中 : kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64 27/37
验证中 : python-backports-1.0-8.el7.x86_64 28/37
验证中 : yajl-2.0.4-4.el7.x86_64 29/37
验证中 : kubernetes-1.5.2-0.7.git269f928.el7.x86_64 30/37
验证中 : libyaml-0.1.4-11.el7_0.x86_64 31/37
验证中 : flannel-0.7.1-4.el7.x86_64 32/37
验证中 : policycoreutils-python-2.5-29.el7.x86_64 33/37
验证中 : kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 34/37
验证中 : python-ipaddress-1.0.16-2.el7.noarch 35/37
验证中 : PyYAML-3.10-11.el7.x86_64 36/37
验证中 : socat-1.7.3.2-2.el7.x86_64 37/37
已安装:
etcd.x86_64 0:3.2.22-1.el7 flannel.x86_64 0:0.7.1-4.el7 kubernetes.x86_64 0:1.5.2-0.7.git269f928.el7
作为依赖被安装:
PyYAML.x86_64 0:3.10-11.el7 atomic-registries.x86_64 1:1.22.1-26.gitb507039.el7.centos
audit-libs-python.x86_64 0:2.8.4-4.el7 checkpolicy.x86_64 0:2.5-8.el7
conntrack-tools.x86_64 0:1.4.4-4.el7 container-selinux.noarch 2:2.74-1.el7
container-storage-setup.noarch 0:0.11.0-2.git5eaf76c.el7 containers-common.x86_64 1:0.1.31-7.gitb0b750d.el7.centos
docker.x86_64 2:1.13.1-88.git07f3374.el7.centos docker-client.x86_64 2:1.13.1-88.git07f3374.el7.centos
docker-common.x86_64 2:1.13.1-88.git07f3374.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
libcgroup.x86_64 0:0.41-20.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
libsemanage-python.x86_64 0:2.5-14.el7 libyaml.x86_64 0:0.1.4-11.el7_0
oci-register-machine.x86_64 1:0-6.git2b44233.el7 oci-systemd-hook.x86_64 1:0.1.18-2.git3efe246.el7
oci-umount.x86_64 2:2.3.4-2.git87f9237.el7 policycoreutils-python.x86_64 0:2.5-29.el7
python-IPy.noarch 0:0.75-6.el7 python-backports.x86_64 0:1.0-8.el7
python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 python-ipaddress.noarch 0:1.0.16-2.el7
python-pytoml.noarch 0:0.1.14-1.git7dea353.el7 python-setuptools.noarch 0:0.9.8-7.el7
setools-libs.x86_64 0:3.3.8-4.el7 socat.x86_64 0:1.7.3.2-2.el7
subscription-manager-rhsm-certificates.x86_64 0:1.21.10-3.el7.centos yajl.x86_64 0:2.0.4-4.el7
完毕!
6.3 配置k8s的config
vi /etc/kubernetes/config
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://k8s-master:8080"
#修改KUBE_MASTER="--master=http://k8s-master:8080",两台主机都一样。
6.4 配置master
6.4.1 配置etcd
vi /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"
ETCD_NAME默认为 ETCD_NAME="default",把双引号去掉了
修改ETCD_LISTEN_CLIENT_URLS中127.0.0.1为0.0.0.0即可
修改ETCD_ADVERTISE_CLIENT_URLS中127.0.0.1为0.0.0.0即可
6.4.2 配置apiserver
vi /etc/kubernetes/apiserver
# The address on the local server to listen to.
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" #这里修改原来的127.0.0.1为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://k8s-master:2379" #这里把127.0.0.1改成k8s-master主机名
# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" #这里保持不变
# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" #这里保持不变
# Add your own!
KUBE_API_ARGS="--service-node-port-range=20000-65535" #这里修改端口范围,默认是30000-32767,创建service时超出会报错
6.4.3 配置flanneld
vi /etc/sysconfig/flanneld
# etcd url location. Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://k8s-master:2379" #这里修改127.0.0.1为k8s-master主机名
# etcd config key. This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/kube-centos/network" #这里修改atomic.io为 kube-centos
6.4.4 启动etcd和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\" } }"
启动master
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
启动成功如下:
Created symlink from /etc/systemd/system/multi-user.target.wants/kube-proxy.service to /usr/lib/systemd/system/kube-proxy.service.
● kube-proxy.service - Kubernetes Kube-Proxy Server
Loaded: loaded (/usr/lib/systemd/system/kube-proxy.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-01-10 17:53:31 CST; 715ms ago
Docs: https://github.com/GoogleCloudPlatform/kubernetes
Main PID: 29364 (kube-proxy)
CGroup: /system.slice/kube-proxy.service
├─29364 /usr/bin/kube-proxy --logtostderr=true --v=0 --master=http://k8s-master:8080
└─29387 iptables --version
1月 10 17:53:31 k8s-slave systemd[1]: Started Kubernetes Kube-Proxy Server.
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.
● kubelet.service - Kubernetes Kubelet Server
Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-01-10 17:53:35 CST; 431ms ago
Docs: https://github.com/GoogleCloudPlatform/kubernetes
Main PID: 29633 (kubelet)
CGroup: /system.slice/kubelet.service
└─29633 /usr/bin/kubelet --logtostderr=true --v=0 --api-servers=http://k8s-master:8080 --address=0.0.0.0 --hostname-ov...
1月 10 17:53:35 k8s-slave systemd[1]: Started Kubernetes Kubelet Server.
Created symlink from /etc/systemd/system/multi-user.target.wants/flanneld.service to /usr/lib/systemd/system/flanneld.service.
Created symlink from /etc/systemd/system/docker.service.wants/flanneld.service to /usr/lib/systemd/system/flanneld.service.
● flanneld.service - Flanneld overlay address etcd agent
Loaded: loaded (/usr/lib/systemd/system/flanneld.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-01-10 17:53:36 CST; 399ms ago
Main PID: 29676 (flanneld)
CGroup: /system.slice/flanneld.service
└─29676 /usr/bin/flanneld -etcd-endpoints=http://k8s-master:2379 -etcd-prefix=/kube-centos/network
1月 10 17:53:35 k8s-slave systemd[1]: Starting Flanneld overlay address etcd agent...
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.198446 29676 main.go:132] Installing signal handlers
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.198854 29676 manager.go:136] Determining IP address of d...erface
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.200817 29676 manager.go:149] Using interface with name e....1.160
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.200855 29676 manager.go:166] Defaulting external address...1.160)
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.327447 29676 local_manager.go:179] Picking subnet in ran....255.0
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.331919 29676 manager.go:250] Lease acquired: 172.30.14.0/24
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.339511 29676 network.go:58] Watching for L3 misses
1月 10 17:53:36 k8s-slave flanneld-start[29676]: I0110 17:53:36.339541 29676 network.go:66] Watching for new subnet leases
1月 10 17:53:36 k8s-slave systemd[1]: Started Flanneld overlay address etcd agent.
Hint: Some lines were ellipsized, use -l to show in full.
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/docker.service.d
└─flannel.conf
Active: active (running) since 四 2019-01-10 17:53:39 CST; 327ms ago
Docs: http://docs.docker.com
Main PID: 29822 (dockerd-current)
CGroup: /system.slice/docker.service
├─29822 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=d...
└─29826 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-in...
1月 10 17:53:38 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:38.430549834+08:00" level=info msg="libcontainerd...29826"
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.564630777+08:00" level=info msg="Graph migrati...conds"
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.566551038+08:00" level=info msg="Loading conta...tart."
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.582728154+08:00" level=info msg="Firewalld run...false"
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.808484154+08:00" level=info msg="Loading conta...done."
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.828358939+08:00" level=warning msg="failed to ...dev\n"
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.830276952+08:00" level=info msg="Daemon has co...ation"
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.830320310+08:00" level=info msg="Docker daemon...1.13.1
1月 10 17:53:39 k8s-slave dockerd-current[29822]: time="2019-01-10T17:53:39.861046147+08:00" level=info msg="API listen on....sock"
1月 10 17:53:39 k8s-slave systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
6.5 配置node
6.5.1 修改kubelet和flanneld
vi /etc/kubernetes/kubelet
# 只修改以下的,其他保持不变
# 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" #这里修改127.0.0.1 为 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=k8s-slave" #这里修改127.0.0.1为k8s-slave主机名
# location of the api-server
KUBELET_API_SERVER="--api-servers=http://k8s-master:8080" #这里修改127.0.0.1为k8s-master主机名
vi /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://k8s-master:2379" #这里修改127.0.0.1为k8s-master主机名
FLANNEL_ETCD_PREFIX="/kube-centos/network" #这里修改atomic.io为 kube-centos
6.5.2 启动node
for SERVICES in kube-proxy kubelet flanneld docker; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
6.5.3 配置kubectl
启动node之后,输入以下命令,配置kubectl
kubectl config set-cluster default-cluster --server=http://k8s-master:8080
kubectl config set-context default-context --cluster=default-cluster --user=default-admin
kubectl config use-context default-context
7.验证
使用kubectl get nodes命令验证是否成功,分别在master和slave上进行执行和验证,如下效果:
[root@k8s-master /]# kubectl get nodes
NAME STATUS AGE
k8s-slave Ready 2m
[root@k8s-slave ~]# kubectl get nodes
NAME STATUS AGE
k8s-slave Ready 2m
8.参考文献
【1】在CentOS 7上安装部署kubernetes,写的很清晰
ps:上述记录的很多也都是参考文献中的过程,我自己在安装过程中特此记录。
20190116 补充
按照上面的安装过程,最后能成功安装,但是版本是1.5的版本,比较低。后续在安装Prometheus和Grafana的时候发现无法监控成功,同时安装的过程中也遇到不少问题,主要是apiVersion的选择总是出问题,同网上贴出来的ymal有不少出入。最后磕磕绊绊安装成功也跑起来后,在targes里看不到任务活动的记录,具体怎么也找不到原因,后来猜测很有可能是k8s的版本造成的,就卸载了重新装新版的1.8.13版本。
关于卸载,我最开始有点犹豫,总担心会卸载不干净(其实就是很难卸载干净),主要步骤是:
1.停止服务 systemctl stop xx systemctl disable xxx
2.删除ymal
kubectl delete -f xxx.yaml
kubectl delete pod -all
kubectl delete node
3.删除相关文件,最后就行了。
然后我重新按照下面这个链接进行安装,一步一步操作,最后成功安装。
安装过程中,还是遇到一些问题,主要是启动kube-apiserver、kube-scheduler、kube-controll失败。失败原因主要还是我写的配置文件格式不对,严格按照博客中的命令去做,改下ip地址就行了。
第二个问题是安装docker的时候出问题了,说是校验不对,主要原因在于我之前的docker卸载的不干净,删除掉 /var/bin/docker目录,删除掉告警里提示的路径下的文件即可。参考这里卸载docker
更多推荐
所有评论(0)