k8s二进制安装

一、二进制搭建k8s v1.20

节点 ip 安装的软件
master01 192.168.2.11 kube-apiserver、controller-manager、scheduler、etcd
node01 192.168.2.12 kubelet、kube-proxy、docker
node02 192.168.2.13 kubelet、kube-proxy、docker
etcd01 192.168.2.11
etcd02 192.168.2.12
etcd03 192.168.2.13
master02 192.168.2.14
负载均衡01 192.168.2.16
负载均衡02 192.168.2.17

vip:192.168.2.100

 1.1 操作系统初始化配置(master:192.168.2.11,node01:192.168.2.12,node02:192.168.2.13)

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

#关闭selinux
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config

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

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

#在master01   node01 node02都添加hosts
cat >> /etc/hosts << EOF
192.168.10.80 master01
192.168.10.20 master02
192.168.10.18 node01
192.168.10.19 node02
EOF

#调整内核参数
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

#时间同步
yum install ntpdate -y
ntpdate time.windows.com

1.2 node 节点部署docker引擎(192.168.2.12、192.168.2.13)

//所有 node 节点部署docker引擎
yum install -y yum-utils device-mapper-persistent-data lvm2 
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

systemctl start docker.service
systemctl enable docker.service 

1.3 生成Etcd证书

cd /opt/
[root@master01 opt]#ls
cfssl  cfssl-certinfo  cfssljson
[root@master01 opt]# mv cfssl* /usr/local/bin/
[root@master01 opt]#
[root@master01 opt]#chmod +x /usr/local/bin/cfssl*
[root@master01 opt]#ll /usr/local/bin/
总用量 18808
-rwxr-xr-x. 1 root root 10376657 2月  17 2021 cfssl
-rwxr-xr-x. 1 root root  6595195 2月  17 2021 cfssl-certinfo
-rwxr-xr-x. 1 root root  2277873 2月  17 2021 cfssljson

mkdir /opt/k8s
cd /opt/k8s/

#上传 etcd-cert.sh 和 etcd.sh 到 /opt/k8s/ 目录中
chmod +x etcd-cert.sh etcd.sh

#创建用于生成CA证书、etcd 服务器证书以及私钥的目录
mkdir /opt/k8s/etcd-cert
mv etcd-cert.sh etcd-cert/
cd /opt/k8s/etcd-cert/
./etcd-cert.sh            #生成CA证书、etcd 服务器证书以及私钥

ls
ca-config.json  ca-csr.json  ca.pem        server.csr       server-key.pem
ca.csr          ca-key.pem   etcd-cert.sh  server-csr.json  server.pem

1.4 在master节点上安装etcd

cd /opt/k8s/
tar zxvf etcd-v3.4.9-linux-amd64.tar.gz
ls etcd-v3.4.9-linux-amd64
Documentation  etcd  etcdctl  README-etcdctl.md  README.md  READMEv2-etcdctl.md
------------------------------------------------------------------------------------------
etcd就是etcd 服务的启动命令,后面可跟各种启动参数
etcdctl主要为etcd 服务提供了命令行操作
------------------------------------------------------------------------------------------

#创建用于存放 etcd 配置文件,命令文件,证书的目录
mkdir -p /opt/etcd/{cfg,bin,ssl}

cd /opt/k8s/etcd-v3.4.9-linux-amd64/
mv etcd etcdctl /opt/etcd/bin/
cp /opt/k8s/etcd-cert/*.pem /opt/etcd/ssl/

cd /opt/k8s/
./etcd.sh etcd01 192.168.10.80 etcd02=https://192.168.10.18:2380,etcd03=https://192.168.10.19:2380
#进入卡住状态等待其他节点加入,这里需要三台etcd服务同时启动,如果只启动其中一台后,服务会卡在那里,直到集群中所有etcd节点都已启动,可忽略这个情况

#可另外打开一个窗口查看etcd进程是否正常
ps -ef | grep etcd

1.5 在两个node节点上安装etcd

#把etcd相关证书文件、命令文件和服务管理文件全部拷贝到另外两个etcd集群节点
scp -r /opt/etcd/ root@192.168.10.18:/opt/
scp -r /opt/etcd/ root@192.168.10.19:/opt/
scp /usr/lib/systemd/system/etcd.service root@192.168.10.18:/usr/lib/systemd/system/
scp /usr/lib/systemd/system/etcd.service root@192.168.10.19:/usr/lib/systemd/system/

//在 node01 节点上操作
vim /opt/etcd/cfg/etcd
#[Member]
ETCD_NAME="etcd02"                                       &nbs

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值