CentOS7环境部署kubenetes1.12版本五部曲之一:标准化机器

前提

本次部署实战需要科学上网,才能顺利安装和部署kubernetes用于学习和实践,请确保您已经完成了相关操作;

系列文章简述

本次搭建过程由五部分实战构成:

  1. 标准化机器:kubernetes环境中的所有机器都要做些公共的设置,本篇就是讲述这些通用设置的,例如docker、kubeadm等应用的安装;
  2. 搭建master:主控节点;
  3. 节点加入:node节点加入主控节点所在的kubenetes环境;
  4. 扩展:安装dashboard;
  5. 扩展:在kubernetes集群之外的CentOS7服务器上安装kubectl,然后操作和控制kubernetes环境;

环境信息

  1. CentOS:7.4.1708;
  2. Docker:1.13.1;
  3. Kubeadm版本:1.12.2-0;
  4. Kubenetes版本:1.12.2-0;

本次实战一共有四台CentOS7机器,基本信息如下:

hostnameIP地址身份配置
localhost192.168.119.157master,主控节点双核,2G内存
node1192.168.119.156node,一号业务节点双核,4G内存
node2192.168.119.159node,二号业务节点双核,2G内存
normal192.168.119.158普通linux服务器单核,1G内存

注意事项

  1. 关于科学上网的方法不在本文讨论之列,请自行完成;
  2. 注意:很多设置科学上网的教程中,都要求在/etc/profile文件中添加类似下面这些信息,但是在本次实战中,请不要设置!!!
PROXY_HOST=127.0.0.1
export all_proxy=http://$PROXY_HOST:8118
export ftp_proxy=http://$PROXY_HOST:8118
export http_proxy=http://$PROXY_HOST:8118
export https_proxy=http://$PROXY_HOST:8118
export no_proxy=localhost,172.16.0.0/16,192.168.0.0/16.,127.0.0.1,10.10.0.0/16

接下来,就在CentOS机器上开始实战吧;

操作

  1. CentOS环境如果用到了Privoxy代理,需要执行下面的命令,这样执行yum的时候才能用到代理(实际证明,在安装kubelet、kubeadm、kubectl的时候,这一步很重要):
echo "proxy=http://127.0.0.1:8118" >> /etc/yum.conf
  1. 更新yum缓存:
yum makecache
  1. 关闭防火墙:
systemctl stop firewalld && systemctl disable firewalld
  1. 关闭swap:
swapoff -a

然后再打开文件/etc/fstab,找到swap有关的一行,如下图红框所示,在这一行的最左边加上"#",将该行注释掉:
在这里插入图片描述
执行free -m命令检查,swap值应该都为0了,如下图红框所示:
在这里插入图片描述

  1. 关闭selinux,打开文件/etc/sysconfig/selinux,找到SELINUX=xxxxxx,如下图红框所示,将其改为SELINUX=disabled:
    在这里插入图片描述

  2. 执行命令:

setenforce 0
  1. iptable设置,不执行的话后面的初始化和节点加入都会失败:
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
  1. 安装docker:
yum install -y docker && systemctl enable docker && systemctl start docker

安装完毕后执行命令docker version检查服务,正常情况下显示以下信息:

Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64
 Go version:      go1.9.4
 Git commit:      8633870/1.13.1
 Built:           Fri Sep 28 19:45:08 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64
 Go version:      go1.9.4
 Git commit:      8633870/1.13.1
 Built:           Fri Sep 28 19:45:08 2018
 OS/Arch:         linux/amd64
 Experimental:    false
  1. 配置docker代理,先执行以下命令创建目录:
mkdir -p /etc/systemd/system/docker.service.d
  1. 在目录/etc/systemd/system/docker.service.d下创建文件http-proxy.conf,内容如下:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:8118" "NO_PROXY=localhost,172.16.0.0/16,127.0.0.1,10.244.0.0/16"
  1. 在目录/etc/systemd/system/docker.service.d下创建文件https-proxy.conf,注意,上一步是http的,这一步是https的内容如下:
[Service]
Environment="HTTP_PROXY=https://127.0.0.1:8118" "NO_PROXY=localhost,172.16.0.0/16,127.0.0.1,10.244.0.0/16"
  1. 使配置生效,重启docker:
systemctl daemon-reload && systemctl restart docker
  1. 配置kubernetes的yum信息:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
  1. 安装kubelet、kubeadm、kubectl,并且将kubelet设置为自启动,然后再启动kubelet:
yum install -y kubelet kubeadm kubectl \
&& systemctl enable kubelet \
&& systemctl start kubelet

至此,标准化机器的工作就完成了;

如果您使用了多台电脑搭建kubernetes环境,那么每台电脑都要执行上述操作;
如果您是用VMware来搭建kubernetes环境,那么建议您现在先关闭当前的虚拟机,将真个虚拟机文件夹做备份,后续搭建环境就不用重新创建系统了,直接复制一份这个文件夹,再打开运行就是个标准化的机器了;

下一章中,我们一起用上述标准化操作后的机器来配置master节点;

五部曲全文链接

  1. 《CentOS7环境部署kubenetes1.12版本五部曲之一:标准化机器》
  2. 《CentOS7环境部署kubenetes1.12版本五部曲之二:创建master节点》
  3. 《CentOS7环境部署kubenetes1.12版本五部曲之三:node节点加入》
  4. 《CentOS7环境部署kubenetes1.12版本五部曲之四:安装dashboard》
  5. 《CentOS7环境部署kubenetes1.12版本五部曲之五:安装kubectl》

欢迎关注我的公众号:程序员欣宸

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员欣宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值