Kubernetes(k8s)是一个开源的容器编排平台,它可以协调和管理容器化应用程序的生命周期。
Kubernetes集群具有以下优势:
-
高可用性:Kubernetes提供了多种机制来保证应用程序的高可用性,包括自动化的容器重启和故障转移机制。
-
可扩展性:Kubernetes可以自动扩展应用程序的容量,并且可以根据需要增加或删除容器实例。
-
部署灵活:Kubernetes可以管理多种类型的容器化应用程序,包括无状态和有状态的应用程序、批处理作业和后台任务。
-
资源利用率:Kubernetes可以自动管理容器之间的资源分配,并确保应用程序可以高效地使用计算、存储和网络资源。
-
高度可定制化:Kubernetes提供了更高级别的抽象,允许开发人员更轻松地配置和扩展应用程序,同时还能够访问各种自定义选项和插件。
-
社区支持:Kubernetes是一个活跃的开源项目,有一个庞大的社区,开发人员可以轻松地获得帮助和支持。
生产环境不要使用一主多从,要使用多主多从。这里使用三台主机进行测试一台 Master(172.16.20.111),两台 Node(172.16.20.112 和 172.16.20.113)
1、设置主机名
CentOS7 安装完成之后,设置固定 ip,三台主机做相同设置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#在最下面ONBOOT改为yes,新增固定地址IPADDR,172.16.20.111,172.16.20.112,172.16.20.113
ONBOOT=yes
IPADDR=172.16.20.111
三台主机 ip 分别设置好之后,修改 hosts 文件,设置主机名
#master 机器上执行
hostnamectl set-hostname master
#node1 机器上执行
hostnamectl set-hostname node1
#node2 机器上执行
hostnamectl set-hostname node2
vi /etc/hosts
172.16.20.111 master
172.16.20.112 node1
172.16.20.113 node2
2、时间同步
开启 chronyd 服务
systemctl start chronyd
设置开机启动
systemctl enable chronyd
测试
date
3、禁用 firewalld 和 iptables(测试环境)
systemctl stop firewalld
systemctl disable firewalld
systemctl stop iptables
systemctl disable iptables
4、禁用 selinux
vi /etc/selinux/config
SELINUX=disabled
5、禁用 swap 分区
注释掉 /dev/mapper/centos-swap swap
vi /etc/fstab
# 注释掉
# /dev/mapper/centos-swap swap
6、修改 linux 的内核参数
vi /etc/sysctl.d/kubernetes.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
#重新加载配置
sysctl -p
#加载网桥过滤模块
modprobe br_netfilter
#查看网桥过滤模块
lsmod | grep br_netfilter
7、配置 ipvs
安装 ipset 和 ipvsadm
yum install ipset ipvsadm -y
添加需要加载的模块(整个执行)
cat <<EOF> /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
添加执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules
执行脚本
/bin/bash /etc/sysconfig/modules/ipvs.modules
查看是否加载成功
lsmod | grep -e -ip_vs -e nf_conntrack_ipv4
以上完成设置之后,一定要执行重启使配置生效
reboot
选择Kubernetes(K8s)集群有以下几个原因:
1.自动化和容错性:Kubernetes可以自动监控和调度容器实例,保持应用程序的高可用性和可扩展性。如果某个节点或实例失效,Kubernetes会自动将其重新调度到可用的节点上。
2.开放性和可扩展性:Kubernetes是一个开放源代码平台,可以快速集成其他开发工具和技术。它支持多种存储和网络选项,可以根据应用程序需求进行自定义配置。
3.便于管理和部署:Kubernetes提供了一个集中式的控制面板,可以方便地管理和监控整个应用程序。此外,它还提供了便捷的部署工具和可视化界面,使得部署和管理应用程序更加容易。
4.多云支持:Kubernetes支持多云环境,可以将应用程序部署到任何云平台或私有环境中。这为企业带来了更大的灵活性和选择性。
综上所述,Kubernetes是一个强大的容器编排平台,具有高可用性、可扩展性和灵活性,可以大大简化应用程序的管理和部署,是现代云端应用程序开发的首选之一。文章来源:https://www.toymoban.com/news/detail-423665.html
这里只是使用三台服务器举例说明,集群环境中肯定不止三台服务器,如果有多台服务器,那么依次按照以上步骤设置即可。文章来源地址https://www.toymoban.com/news/detail-423665.html
到了这里,关于【K8S专题】一、集群环境规划配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!