前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7环境部署kubenetes1.12版本五部曲之一:标准化机器

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

作者头像
程序员欣宸
发布2019-05-26 12:20:57
7110
发布2019-05-26 12:20:57
举报
文章被收录于专栏:实战docker

代码语言:txt
复制
                     版权声明:欢迎转载,请注明出处,谢谢。          https://blog.csdn.net/boling\_cavalry/article/details/83692428        

前提

本次部署实战需要访问外国网站,才能顺利安装和部署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机器,基本信息如下:

hostname

IP地址

身份

配置

localhost

192.168.119.157

master,主控节点

双核,2G内存

node1

192.168.119.156

node,一号业务节点

双核,4G内存

node2

192.168.119.159

node,二号业务节点

双核,2G内存

normal

192.168.119.158

普通linux服务器

单核,1G内存

注意事项

  1. 关于访问外国网站的方法不在本文讨论之列,请自行完成;
  2. 注意:很多设置访问外国网站的教程中,都要求在/etc/profile文件中添加类似下面这些信息,但是在本次实战中,请不要设置!!!
代码语言:javascript
复制
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的时候,这一步很重要):
代码语言:javascript
复制
echo "proxy=http://127.0.0.1:8118" >> /etc/yum.conf
  1. 更新yum缓存:
代码语言:javascript
复制
yum makecache
  1. 关闭防火墙:
代码语言:javascript
复制
systemctl stop firewalld && systemctl disable firewalld
  1. 关闭swap:
代码语言:javascript
复制
swapoff -a

然后再打开文件/etc/fstab,找到swap有关的一行,如下图红框所示,在这一行的最左边加上"#",将该行注释掉:

执行free -m命令检查,swap值应该都为0了,如下图红框所示:

  1. 关闭selinux,打开文件/etc/sysconfig/selinux,找到SELINUX=xxxxxx,如下图红框所示,将其改为SELINUX=disabled:

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

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

代码语言:javascript
复制
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代理,先执行以下命令创建目录:
代码语言:javascript
复制
mkdir -p /etc/systemd/system/docker.service.d
  1. 在目录/etc/systemd/system/docker.service.d下创建文件http-proxy.conf,内容如下:
代码语言:javascript
复制
[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的内容如下:
代码语言:javascript
复制
[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:
代码语言:javascript
复制
systemctl daemon-reload && systemctl restart docker
  1. 配置kubernetes的yum信息:
代码语言:javascript
复制
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:
代码语言:javascript
复制
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》

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年11月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前提
  • 系列文章简述
  • 环境信息
  • 注意事项
  • 操作
  • 五部曲全文链接
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档