Kubernetes系列第二篇:Kubernetes架构设计和部署

  

1。架构设计和环境设计

  
1.1。架构设计h5>   <李>部署Haproxy为Kubernetes提供端点访问入口   <李>使用keepalive将端点入口地址设置为虚拟IP并通过部署多台节点的方式实现冗余李   <李>使用kubeadm部署高可用Kubernetes集群,指定端点IP为keepalive生成的虚拟IP李   <李>使用普罗米修斯作为Kubernetes的集群监控系统,使用grafana作为图表监控图表展示系统,使用alertmanager作为报警系统李   <李>使用詹金斯+ gitlab +港构建CI/CD系统李   <李>使用单独的域名在Kubernetes集群内进行通信,在内网搭建DNS服务用于解析域名
 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> <代码类= [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架构设计和部署