前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7环境安装Kubernetes四部曲之一:标准化机器准备

CentOS7环境安装Kubernetes四部曲之一:标准化机器准备

作者头像
程序员欣宸
发布2022-05-06 14:08:26
3830
发布2022-05-06 14:08:26
举报
文章被收录于专栏:实战docker实战docker

通过Rancher安装Kubernetes的文章前面已经写过,但那时是需要科学上网才能安装成功(下载gcr.io/google_containers/XXXXX的镜像),本次实战依旧是用Rancher来安装Kubernetes,但是会做一些设置,使得不用翻墙也能成功安装K8S环境,另外,在CentOS7环境下,有些设置如果处理不当也会导致安装失败或者加入节点失败,所以也会在本文中交代清楚;

章节列表

整个《CentOS7环境安装Kubernetes四部曲》由以下四篇文章组成:

  1. 标准化机器准备,不论是master还是node节点,都要先做一些同样的设置,本章会将这些步骤列出,请参照本章对每一台机器做同样的设置;
  2. 安装master,配置模板;
  3. 在K8S环境加入机器,并快速部署一个应用作为体验;
  4. 安装kubectl工具;

版本信息

本次涉及到的重要软件的版本信息如下:

  1. 操作系统:CentOS Linux 7 (3.10.0)
  2. Docker:1.12.3
  3. Kubernetes:v1.8.3

机器信息

整个环境由两台CentOS7的机器组成,如下:

hostname

IP地址

作用

内存大小

master

192.168.119.129

主控制节点

2G

node1

192.168.119.130

业务节点

4G

接下来的操作是通用的,在master和node1两台机器上都要一模一样的做一遍; 建议以root身份来执行以下操作,或者通过sudo su -命令获取root权限;

检查hostname

  1. 检查文件/etc/hostname,确保master和node1的不一样,我这边master的hostname就叫master,node的hostname叫node1;
  2. 修改后需要重启机器;

检查hosts

检查文件/etc/hosts,确保有hostname和本机IP的配置:

  1. 对于master应该有这么一行:192.168.119.129 master
  2. 对于node1应该有这么一样:192.168.119.130 node1

IP和DNS

  1. IP地址不能冲突;
  2. 能正常解析域名,执行curl www.baidu.com,可以返回网站的html内容;

防火墙

如果是测试环境就关闭防火墙,如果是生产环境需要做详细的设置,关闭防火墙的方法如下:

  1. 查看当前防火墙状态:systemctl status firewalld.service
  2. 禁止开机启动:systemctl disable firewalld.service
  3. 关闭防火墙:systemctl stop firewalld.service

关闭SELinux

  1. 打开文件/etc/selinux/config,找到SELINUX=xxxxx这行,改为SELINUX=disabled;
  2. 修改后需要重启机器;

开启IPV4转发

  1. 打开文件/etc/sysctl.conf,检查是否有net.ipv4.ip_forward = x这样的配置;
  2. 如果有就保证x等于1,如果没有就加一行:net.ipv4.ip_forward = 1
  3. 修改并保存后,执行命令sysctl -p使配置生效;
  4. 执行命令sysctl -a|grep “ip_forward”,查看最新的配置,应该有如下内容:
代码语言:javascript
复制
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0

重启

做完上述步骤后,如果有改动,最好重启机器,以免有设置未能生效;

关闭Swap交换分区

执行命令swapoff -a关闭Swap交换分区;

安装Docker1.2.3版本

什么版本的Docker才能适配Rancher和Kubernetes?rancher的官网给出了一份列表,请参考:http://rancher.com/docs/rancher/v1.6/zh/hosts/#docker,本文我们使用推荐的1.2.3版本,以下是安装步骤:

  1. 执行命令:
代码语言:javascript
复制
mkdir -p ~/_src \
&& cd ~/_src \
&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm \
&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.3-1.el7.centos.x86_64.rpm \
&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm \
&& yum localinstall -y docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm docker-engine-1.12.3-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm

2. 设置开机启动: ```shell systemctl enable docker ``` 3. 启动docker: ```shell systemctl start docker ``` 4. 执行docker version命令,看到如下信息: ```shell Client: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: OS/Arch: linux/amd64

Server: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: OS/Arch: linux/amd64

代码语言:javascript
复制
### 设置Docker镜像加速
此时如果用docker pull命令下载镜像,本地会连接hub.docker.com网站去下载,耗时较长,因此我们可以设置docker镜像加速,使得本地连接去国内镜像仓库下载,镜像加速的设置有很多种,本章以阿里云的设置为例,步骤如下:

1. 创建目录:
```shell
mkdir -p /etc/docker

2. 设置镜像仓库地址: ```shell tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"] } EOF ``` 3. 重新加载配置: ```shell systemctl daemon-reload ``` 4. 重启docker服务: ```shell systemctl restart docker ```

至此,机器的标准化准备工作已经完成了,经过了上述操作的机器可以直接拿来安装master,或者作为node加入到kubernetes环境;

下一章《CentOS7环境安装Kubernetes四部曲之二:配置模板和安装master》,我们一起来实战安装rancher、kubernetes、节点加入k8s等操作;

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 章节列表
  • 版本信息
  • 机器信息
  • 检查hostname
  • 检查hosts
  • IP和DNS
  • 防火墙
  • 关闭SELinux
  • 开启IPV4转发
  • 重启
  • 关闭Swap交换分区
  • 安装Docker1.2.3版本
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档