『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

发布时间:2020-06-27 16:19:33 作者:IT人故事
来源:网络 阅读:237

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

上次讲了k8s的理论部分,从这次开始实践部分。从环境搭建的实际操作中,深入了解k8s的组件和它的架构设计。对于新手来说,搭建一个完整的k8s的环境真心困难啊,至少我在中级搭建的时候感觉很麻烦,如果你科学上网的话,可以通过kubernetes-admin的方式,但是相信大部分的老铁,还是绿色的上网环境,特别k8s的服务器,根本不具备科学上网能力的,对于这个问题,社区也推出来了很多自研的部署方案,经过迭代也踊跃了很多种的方案。都不太适合新手来,虽然好解决,但是安装节点对你来说还是个黑盒,这些方案的学习成本都非常的高,有的不够灵活,想特殊配置的。源码:https://github.com/limingios/msA-docker swarm分支 vagrant/k8s 和
https://github.com/limingios/kubernetes-starter

参考高手总结的k8s的安装

https://github.com/limingios/kubernetes-starter

  1. 绿色网络情况下愉快的安装网络集群
  2. 安装的过程加深对k8s的深入理解

尽量让部署变的简单,第一次安装,剥离了认证和授权部分,非必须安装的放在最后,从整体上把握k8s的运行机制。最后加上认证授权。k8s的难点就是认证和授权,加入进去后会让人感觉整个过程,让人感觉非常非常的复杂,所以在这里第一次安装的时候做了剥离。

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

预先环境准备

系统类型 IP地址 节点角色 CPU Memory Hostname
Centos7 192.168.66.101 master 1 2G server01
Centos7 192.168.66.102 worker 1 1G server02
Centos7 192.168.66.103 worker 1 1G server03

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

$ vi /lib/systemd/system/docker.service

#找到ExecStart=xxx,在这行上面加入一行,内容如下:(k8s的网络需要)
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

系统设置(所有节点)

关闭、禁用防火墙(让所有机器之间都可以通过任意端口建立连接)
systemctl stop firewalld
systemctl disable firewalld
#查看状态
systemctl status firewalld

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

####设置系统参数 - 允许路由转发,不对bridge的数据进行处理

#写入配置文件
$ cat <<EOF > /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

#生效配置文件
$ sysctl -p /etc/sysctl.d/k8s.conf

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

配置host文件
#配置host,使每个Node都可以通过名字解析到ip地址
$ vi /etc/hosts
#加入如下片段(ip地址和servername替换成自己的)
192.168.66.101 server01
192.168.66.102 server02
192.168.66.103 server03

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

准备二进制文件(所有节点)

kubernetes的安装有几种方式,不管是kube-admin还是社区贡献的部署方案都离不开这几种方式:

从上面的三种方式中其实使用镜像是比较优雅的方案,容器的好处自然不用多说。但从初学者的角度来说容器的方案会显得有些复杂,不那么纯粹,会有很多容器的配置文件以及关于类似二进制文件提供的服务如何在容器中提供的问题,容易跑偏。
所以我们这里使用二进制的方式来部署。二进制文件已经这里备好,大家可以打包下载,把下载好的文件放到每个节点上,放在哪个目录随你喜欢,放好后最好设置一下环境变量$PATH,方便后面可以直接使用命令。(科学上网的老铁也可以自己去官网找找)
####[下载地址(kubernetes 1.9.0版本)] (https://pan.baidu.com/s/1bMnqWY)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

scp kubernetes-bins.tar.gz root@192.168.66.101:~
scp kubernetes-bins.tar.gz root@192.168.66.102:~
scp kubernetes-bins.tar.gz root@192.168.66.103:~

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)
『高级篇』docker之kubernetes环境搭建与预先环境准备(32)
『高级篇』docker之kubernetes环境搭建与预先环境准备(32)
『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

tar -xvf kubernetes-bins.tar.gz 
mv kubernetes-bins/ bin

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

准备配置文件(所有节点)

上一步我们下载了kubernetes各个组件的二进制文件,这些可执行文件的运行也是需要添加很多参数的,包括有的还会依赖一些配置文件。现在我们就把运行它们需要的参数和配置文件都准备好。

下载配置文件
#安装git
yum -y install git
#到home目录下载项目
git clone https://github.com/limingios/kubernetes-starter.git
#看看git内容
cd ~/kubernetes-starter && ll

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

文件说明
3台机器生成配置

这里会根据大家各自的环境生成kubernetes部署过程需要的配置文件。
在每个节点上都生成一遍,把所有配置都生成好,后面会根据节点类型去使用相关的配置。

#cd到之前下载的git代码目录
cd ~/kubernetes-starter
#编辑属性配置(根据文件注释中的说明填写好每个key-value)
vi config.properties
#生成配置文件,确保执行过程没有异常信息

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

#生成简易版本
 ./gen-config.sh simple
#查看生成的配置文件,确保脚本执行成功
 find target/ -type f

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

执行gen-config.sh常见问题:

  1. gen-config.sh: 3: gen-config.sh: Syntax error: "(" unexpected
    • bash版本过低,运行:bash -version查看版本,如果小于4需要升级
    • 不要使用 sh gen-config.sh的方式运行(sh和bash可能不一样哦)
  2. config.properties文件填写错误,需要重新生成
    再执行一次./gen-config.sh simple即可,不需要手动删除target

PS:下一步将一步一步的使用这些文件,到那个时间说说每个文件的功能。里面有写错的,192.168.1.101.2379 改成192.168.1.101:2379

『高级篇』docker之kubernetes环境搭建与预先环境准备(32)

推荐阅读:
  1. 『高级篇』docker之CICD(终结篇)(44)
  2. 『高级篇』docker之安全认证kubernetes命令熟悉(40)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

k8s kubernetes 容器

上一篇:LAMP之MySQL的安装及基础命令

下一篇:OnlyOffice基础实践

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》