k8s微服务集群体系搭建 一.k8s集群搭建(CentOS8.2+k8s.1.25.2)kubeadm

这套配置版本比较新,在k8s.1.25.2中,多了一个cri-dockerd,这货不安装跑不起来
具体执行的linux命令还有这个的安装包集成了一个简单的包,里面没做有兴趣的可以去看看,也可以直接拿来用,但是不包好,仅供参考
https://gitee.com/www.topwhere.cn/centos8.2-k8s-init

2vCPUs | 4 GiB | s3.large.2 CentOS8.2 64位的机器
首先,购置了3台服务器
59.36.165.83(192.168.1.73) master
59.36.140.180(192.168.1.152) work1
59.36.83.118(192.168.1.245) work2
选择了三台

2vCPUs | 4 GiB | s3.large.2 CentOS8.2 64位的机器
k8s微服务集群体系搭建 一.k8s集群搭建(CentOS8.2+k8s.1.25.2)kubeadm_第1张图片

一.首先设置机器名称/变更host

1-1.指定主机名-作为k8s-master节点的机器执行

hostnamectl set-hostname k8s-master

1-2作为k8s-node1节点的机器执行

hostnamectl set-hostname k8s-node1

1-3作为k8s-node2节点的机器执行

hostnamectl set-hostname k8s-node2

2.变更host

cat >> /etc/hosts << EOF 
192.168.1.73 k8s-master
192.168.1.152  k8s-node1
192.168.1.245  k8s-node2
EOF

3.重新加载-执行

bash

二.更新源

1.更新资源包

yum update -y
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum update -y

2.安装vim

yum -y install vim

3.安装时间同步

yum -y install chrony
systemctl start chronyd && systemctl enable chronyd
date

三.关闭防火墙

service firewalld stop && systemctl disable firewalld
#临时关闭selinux,永久关闭请修改/etc/selinux/config配置文件
setenforce 0

四.关闭减缓空间

# 临时关闭
swapoff -a
# getenforce查看状态
#永久关闭
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

五.将桥接ipv6流量传递

1.执行

modprobe br_netfilter

2.写入配置文件1

cat < /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

3.写入配置文件2

cat > /etc/sysconfig/modules/ipvs.modules << EOF
#!/bin/sh
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

4.生效配置文件

sysctl -p /etc/sysctl.d/k8s.conf
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

六 .下载docker

1.安装工具

yum install -y yum-utils device-mapper-persistent-data lvm2

2-1.换源1-这是官方的源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2-2.换源2-这是阿里的源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装docker

yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin --allowerasing

4.生成配置文件

containerd config default > /etc/containerd/config.toml

5.启动 containerd

systemctl restart containerd && systemctl enable containerd

6.启动 containerd

#启动 / #设置开机启动
systemctl start docker && systemctl enable docker.service

7.变更docker引擎

cat < /etc/docker/daemon.json
{
"registry-mirrors": ["https://y0753cg2.mirror.aliyuncs.com"],
 "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

8.重启docker

systemctl restart docker

七.加入k8s源

1.添加k8s源

cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2.安装k8s最新包

yum -y install kubectl kubelet kubeadm

3.设置开机自启

systemctl enable kubelet

八.增加cri-dockerd配置(这步据说是1.25.2里新加的,之前版本里没有)

1.下载cri-dockerd ,这个系统不一样下的好像也不一样,这里根据centos8.2下了个当前最新版本

cd /home
git clone https://gitee.com/www.topwhere.cn/centos8.2-k8s-init.git
cd centos8.2-k8s-init/
chomd -R 777 ./*

2.移动包到bin

cp cri-dockerd /usr/bin/

3.创建cri-docker启动文件1。

cat < /usr/lib/systemd/system/cri-docker.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.8
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

StartLimitBurst=3

StartLimitInterval=60s

LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
EOF

4.创建启动文件2

cat < /usr/lib/systemd/system/cri-docker.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service

[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target
EOF

5.设置开机自动启动

systemctl daemon-reload ; systemctl enable cri-docker --now

6.查看状态

systemctl is-active cri-docker

九.运行master节点(这里也有不同,增加了行选择)

kubeadm init \
--control-plane-endpoint="k8s-master" \
--apiserver-advertise-address=192.168.1.73 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.25.2 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16 \
--cri-socket=unix:///var/run/cri-dockerd.sock \
--upload-certs \
--v=5

十.增加配置文件

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

十一.nodo节点(这里也有不同,增加了行选择)

kubeadm join k8s-master:6443 --token 1vpqda.t0ws57wiiogadc58 \
--discovery-token-ca-cert-hash sha256:6e4e100441f40a42b57829f738633f2c136fa2e67d6476b1d2891552abfd1461 --cri-socket=unix:///var/run/cri-dockerd.sock

之后需要把 master节点的/etc/kubernetes/admin.conf 文件复制到node节点的同位置,之后执行 第十步

十二.运行成功后执行,安装calico插件

可以支持网络策略。

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

十三.运行成功后执行,安装flannel插件

可以支持网络策略。

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

你可能感兴趣的:(k8s1.25.2,kubernetes,微服务,docker)