1。架构设计和环境设计
1.1。架构设计h5>
<李>部署Haproxy为Kubernetes提供端点访问入口李>
<李>使用keepalive将端点入口地址设置为虚拟IP并通过部署多台节点的方式实现冗余李>
<李>使用kubeadm部署高可用Kubernetes集群,指定端点IP为keepalive生成的虚拟IP李>
<李>使用普罗米修斯作为Kubernetes的集群监控系统,使用grafana作为图表监控图表展示系统,使用alertmanager作为报警系统李>
<李>使用詹金斯+ gitlab +港构建CI/CD系统李>
<李>使用单独的域名在Kubernetes集群内进行通信,在内网搭建DNS服务用于解析域名
[root@localhost ~] # setenforce 0
(root@localhost ~) # sed -我的# ^ SELINUX=? # SELINUX=#”/etc/sysconfig/selinux禁用
(root@localhost ~) # sed -我的# ^ SELINUX=? #禁用SELINUX=#“/etc/selinux/config 代码>
2.2。关闭无用服务h5> <代码类=" language-bash "> [root@localhost ~] # systemctl禁用firewalld后缀auditd kdump使代码>
2.3。升级系统内核h5> <代码类=" language-bash "> root@master ~ # rpm——输入https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
(root@master ~) # rpm -Uvh http://www.elrepo.org/elrepo -释放- 7.0 - 3. - el7.elrepo.noarch.rpm
(root@master ~) # yum - y——disablerepo=\ * enablerepo=elrepo-kernel kernel-lt安装。x86_64 kernel-lt-devel。x86_64 kernel-lt-headers.x86_64
(root@master ~) # yum - y kernel-tools-libs移除。x86_64 kernel-tools.x86_64
(root@master ~) # yum - y——disablerepo=\ * enablerepo=elrepo-kernel kernel-lt-tools.x86_64安装
(root@master ~) #猫& lt; & lt; EOF祝辞/etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=" $ (sed ' s释放。*美元,g’/etc/system-release)”
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=翱刂铺ā?
GRUB_CMDLINE_LINUX=" crashkernel=自动控制台=ttyS0控制台=tty0恐慌=5”
GRUB_DISABLE_RECOVERY=" true "
GRUB_TERMINAL=按锌刂铺ā?
GRUB_TERMINAL_OUTPUT=按锌刂铺ā?
GRUB_SERIAL_COMMAND="系列——速度=9600单位=0——词=8——平价=没有停止=1”
EOF
(root@localhost ~) # grub2-mkconfig - o/boot/grub2 grub.cfg 代码>
2.4。统一网卡名称
<代码类=" language-bash "> [root@localhost ~] # grub_cinfig=' GRUB_CMDLINE_LINUX=" crashkernel=汽车ipv6。禁用=1。ifnames rd.lvm=0。lv=centos/根rd.lvm。lv=centos/交换rhgb安静”
(root@localhost ~) # sed -我的# GRUB_CMDLINE_LINUX。* # $ {grub_cinfig} #“/etc/default/grub
(root@localhost ~) # grub2-mkconfig - o/boot/grub2/grub.cfg
# ATTR{地址}为网卡MAC地址,名称为修改后的地址
#猫/etc/udev/rules.d/70-persistent-net.rules root@localhost ~
子系统==熬弧?行动==疤砑印?司机==?*”,ATTR{地址}==" ec: xx: yy: cc: b6: xx”, NAME=" eth0”
子系统==熬弧?行动==疤砑印?司机==?*”,ATTR{地址}==" ec: xx: yy: cc: b6: xx”, NAME=" eth2”
#重启之前先修改/etc/sysconfig/network-scripts/下面的网卡配置文件
(root@localhost ~) #重启代码>
2.5。其他配置h5> <代码类=" language-bash "> [root@localhost ~] # yum - y安装vim net-tools lrzsz lbzip2 bzip2 ntpdate wget psmisc旋度
(root@localhost ~) # timedatectl set-timezone亚洲/上海
root@localhost ~ #回声”命名服务器223.5.5.5”比;/etc/resolv.conf
root@localhost ~ #回声”命名服务器114.114.114.114”在祝辞/etc/resolv.conf
(root@localhost ~) #回声”LANG=en_US。utf - 8”比;/etc/locale.conf
(root@localhost ~) #回声的出口LANG=" en_US。utf - 8”,祝辞的在/etc/profile.d/custom.sh
(root@localhost ~) #猫在祝辞/etc/security/limits.参看& lt; & lt; EOF
*软nproc 65530
*硬nproc 65530
*软nofile 65530
*硬nofile 65530
EOF
(root@localhost ~) #猫比;/etc/sysctl.d/k8s.参看& lt; & lt;EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv4。tcp_sack=0
EOF
(root@localhost ~) # sysctl - p/etc/sysctl.d/k8s.conf Kubernetes系列第二篇:Kubernetes架构设计和部署
![Kubernetes系列第二篇:Kubernetes架构设计和部署”> </李>
</ol>
<h5> 1.2。环境设计h5> </主机名
知识产权
角色
kube - - 01. - sk8s.io - 01. - sk8s.io大师
192.168.0.201
美丽的主人,haprxoy + keepalive(虚拟IP: 192.168.0.250)
kube - - 01. - sk8s.io - 02. - sk8s.io大师
192.168.0.202
美丽的主人,haprxoy + keepalive(虚拟IP: 192.168.0.250)
kube - - 01. - sk8s.io - 03. - sk8s.io大师
192.168.0.203
美丽的主人,DNS,存储、GitLab港口
kube sk8s.io——节点- 01.
192.168.0.204
节点
kube sk8s.io——节点- 02.
192.168.0.205
节点
<h3> 2。操作系统初始化设置</h3>
<h5> 2.1。关闭SELINUX h5> </<pre> <代码类=](/zixun/d/file/fuwuqi/2021-06-10/c453636dcfec81c3c99386c3bd26f02b.jpg )
2.2。关闭无用服务h5> <代码类=" language-bash "> [root@localhost ~] # systemctl禁用firewalld后缀auditd kdump使代码>
2.3。升级系统内核h5> <代码类=" language-bash "> root@master ~ # rpm——输入https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
(root@master ~) # rpm -Uvh http://www.elrepo.org/elrepo -释放- 7.0 - 3. - el7.elrepo.noarch.rpm
(root@master ~) # yum - y——disablerepo=\ * enablerepo=elrepo-kernel kernel-lt安装。x86_64 kernel-lt-devel。x86_64 kernel-lt-headers.x86_64
(root@master ~) # yum - y kernel-tools-libs移除。x86_64 kernel-tools.x86_64
(root@master ~) # yum - y——disablerepo=\ * enablerepo=elrepo-kernel kernel-lt-tools.x86_64安装
(root@master ~) #猫& lt; & lt; EOF祝辞/etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=" $ (sed ' s释放。*美元,g’/etc/system-release)”
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=翱刂铺ā?
GRUB_CMDLINE_LINUX=" crashkernel=自动控制台=ttyS0控制台=tty0恐慌=5”
GRUB_DISABLE_RECOVERY=" true "
GRUB_TERMINAL=按锌刂铺ā?
GRUB_TERMINAL_OUTPUT=按锌刂铺ā?
GRUB_SERIAL_COMMAND="系列——速度=9600单位=0——词=8——平价=没有停止=1”
EOF
(root@localhost ~) # grub2-mkconfig - o/boot/grub2 grub.cfg 代码>
2.4。统一网卡名称
<代码类=" language-bash "> [root@localhost ~] # grub_cinfig=' GRUB_CMDLINE_LINUX=" crashkernel=汽车ipv6。禁用=1。ifnames rd.lvm=0。lv=centos/根rd.lvm。lv=centos/交换rhgb安静”
(root@localhost ~) # sed -我的# GRUB_CMDLINE_LINUX。* # $ {grub_cinfig} #“/etc/default/grub
(root@localhost ~) # grub2-mkconfig - o/boot/grub2/grub.cfg
# ATTR{地址}为网卡MAC地址,名称为修改后的地址
#猫/etc/udev/rules.d/70-persistent-net.rules root@localhost ~
子系统==熬弧?行动==疤砑印?司机==?*”,ATTR{地址}==" ec: xx: yy: cc: b6: xx”, NAME=" eth0”
子系统==熬弧?行动==疤砑印?司机==?*”,ATTR{地址}==" ec: xx: yy: cc: b6: xx”, NAME=" eth2”
#重启之前先修改/etc/sysconfig/network-scripts/下面的网卡配置文件
(root@localhost ~) #重启代码>
2.5。其他配置h5> <代码类=" language-bash "> [root@localhost ~] # yum - y安装vim net-tools lrzsz lbzip2 bzip2 ntpdate wget psmisc旋度
(root@localhost ~) # timedatectl set-timezone亚洲/上海
root@localhost ~ #回声”命名服务器223.5.5.5”比;/etc/resolv.conf
root@localhost ~ #回声”命名服务器114.114.114.114”在祝辞/etc/resolv.conf
(root@localhost ~) #回声”LANG=en_US。utf - 8”比;/etc/locale.conf
(root@localhost ~) #回声的出口LANG=" en_US。utf - 8”,祝辞的在/etc/profile.d/custom.sh
(root@localhost ~) #猫在祝辞/etc/security/limits.参看& lt; & lt; EOF
*软nproc 65530
*硬nproc 65530
*软nofile 65530
*硬nofile 65530
EOF
(root@localhost ~) #猫比;/etc/sysctl.d/k8s.参看& lt; & lt;EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv4。tcp_sack=0
EOF
(root@localhost ~) # sysctl - p/etc/sysctl.d/k8s.conf Kubernetes系列第二篇:Kubernetes架构设计和部署
<代码类=" language-bash "> root@master ~ # rpm——输入https://www.elrepo.org/RPM-GPG-KEY-elrepo.org (root@master ~) # rpm -Uvh http://www.elrepo.org/elrepo -释放- 7.0 - 3. - el7.elrepo.noarch.rpm (root@master ~) # yum - y——disablerepo=\ * enablerepo=elrepo-kernel kernel-lt安装。x86_64 kernel-lt-devel。x86_64 kernel-lt-headers.x86_64 (root@master ~) # yum - y kernel-tools-libs移除。x86_64 kernel-tools.x86_64 (root@master ~) # yum - y——disablerepo=\ * enablerepo=elrepo-kernel kernel-lt-tools.x86_64安装 (root@master ~) #猫& lt; & lt; EOF祝辞/etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=" $ (sed ' s释放。*美元,g’/etc/system-release)” GRUB_DEFAULT=0 GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT=翱刂铺ā? GRUB_CMDLINE_LINUX=" crashkernel=自动控制台=ttyS0控制台=tty0恐慌=5” GRUB_DISABLE_RECOVERY=" true " GRUB_TERMINAL=按锌刂铺ā? GRUB_TERMINAL_OUTPUT=按锌刂铺ā? GRUB_SERIAL_COMMAND="系列——速度=9600单位=0——词=8——平价=没有停止=1” EOF (root@localhost ~) # grub2-mkconfig - o/boot/grub2 grub.cfg 代码>
2.4。统一网卡名称
<代码类=" language-bash "> [root@localhost ~] # grub_cinfig=' GRUB_CMDLINE_LINUX=" crashkernel=汽车ipv6。禁用=1。ifnames rd.lvm=0。lv=centos/根rd.lvm。lv=centos/交换rhgb安静” (root@localhost ~) # sed -我的# GRUB_CMDLINE_LINUX。* # $ {grub_cinfig} #“/etc/default/grub (root@localhost ~) # grub2-mkconfig - o/boot/grub2/grub.cfg # ATTR{地址}为网卡MAC地址,名称为修改后的地址 #猫/etc/udev/rules.d/70-persistent-net.rules root@localhost ~ 子系统==熬弧?行动==疤砑印?司机==?*”,ATTR{地址}==" ec: xx: yy: cc: b6: xx”, NAME=" eth0” 子系统==熬弧?行动==疤砑印?司机==?*”,ATTR{地址}==" ec: xx: yy: cc: b6: xx”, NAME=" eth2” #重启之前先修改/etc/sysconfig/network-scripts/下面的网卡配置文件 (root@localhost ~) #重启代码>