二进制部署k8s集群之master节点和etcd数据库集群(上)

目录

1.操作系统初始化配置

2.升级Linux内核

3.部署docker引擎

4.部署etcd集群

4.1 了解etcdctl工具对etcd做增删改查

4.2 通过etcdctl工具实现数据库的备份和恢复

5.部署Master组件

6.部署 Worker Node 组件


二进制搭建 Kubernetes v1.20

k8s集群master01:192.168.9.112	kube-apiserver kube-controller-manager kube-scheduler etcd
k8s集群master02:192.168.9.116

k8s集群node01:192.168.9.113	kubelet kube-proxy docker 
k8s集群node02:192.168.9.111

etcd集群节点1:192.168.80.112	etcd
etcd集群节点2:192.168.80.113
etcd集群节点3:192.168.80.111

负载均衡nginx+keepalive01(master):192.168.9.114
负载均衡nginx+keepalive02(backup):192.168.9.115

1.操作系统初始化配置

所有服务器操作
192.168.9.112 master01
192.168.9.116 master02
192.168.9.113 node01
192.168.9.111 node02


#关闭防火墙、关闭selinux
systemctl disable --now firewalld
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
setenforce 0
vim /etc/selinux/config
SELINUX=disabled


#关闭swap
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab 

#根据规划设置主机名
hostnamectl set-hostname master01
hostnamectl set-hostname master02
hostnamectl set-hostname node01
hostnamectl set-hostname node02

在master添加hosts
192.168.9.112 master01
192.168.9.116 master02
192.168.9.113 node01
192.168.9.111 node02

#调整内核参数   所有服务器操作
cat > /etc/sysctl.d/k8s.conf << EOF
#开启网桥模式,可将网桥的流量传递给iptables链
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
#关闭ipv6协议
net.ipv6.conf.all.disable_ipv6=1
net.ipv4.ip_forward=1
EOF
 
sysctl --system   #加载

#时间同步   所有服务器操作
vim /etc/chrony.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp1.aliyun.com iburst
systemctl restart chronyd.service
chronyc -a makestep


2.升级Linux内核

vim /etc/yum.repos.d/elrepo.repo   所有服务器操作
[elrepo]
name=elrepo
baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64
gpgcheck=0
enabled=1


cd /etc/yum.repos.d/
mv local.repo repo.bak/
导入阿里云在线源


yum clean all  所有服务器操作
yum install -y kernel-lt kernel-lt-devel  集群升级内核
#查看内核序号
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

#设置默认启动内核
grub2-set-default 0

#重启操作系统
reboot

#查看生效版本
hostnamectl



3.部署docker引擎

所有 node 节点部署docker引擎
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
yum install -y docker-ce docker-ce-cli containerd.io

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [镜像加速器地址],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "500m", "max-file": "3"
  }
}
EOF

systemctl enable --now docker
docker info

4.部署etcd集群

etcd是一个分布式键值存储系统,用于在分布式系统中保存配置信息、元数据以及关键的共享状态。它是一个开源项目,最初由CoreOS开发并维护,现在由CNCF托管。etcd的设计目标是提供可靠的分布式存储,以支持分布式系统的一致性和高可用性。

关键特性:
●分布式存储:etcd的数据存储是分布式的,可以跨多个节点进行分布,确保高可用性和可扩展性。
●强致性:etcd提供强一致性的保证,确保在集群中的所有节点都能看到相同的数据视图。
●轻量级:etcd采用轻量级的Raft一致性算法,以确保集群中的节点之间达成一致,同时保持相对较低的性能开销。
●API支持:etcd提供简单而强大的HTTP+JSON API,使得开发人员可以轻松地与其进行交互,并集成到各种应用和工具中。
●Watch机制:etcd支持Watch机制,允许客户端监视特定键的变化,并在数据发生变更时得到通知。
●安全性:etcd支持SSL/TLS加密,以保障数据在传输过程中的安全性,并提供基于角色的访问控制。

应用场景:
●配置管理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值