kubeadm部署kubernetes v1.23.0

一. 环境准备

1、主机2台

master:ip 192.168.157.156

node : ip 192.168.157.157

2、改主机名
hostnamectl set-hostname master

hostnamectl set-hostname node

3、添加解析
vim /etc/hosts
192.168.157.156 master
192.168.157.157 node

4、改时区

timedatectl set-timezone Asia/Shanghai

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

6、关防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl stop iptables
systemctl disable iptables

7、禁用selinux
查看selinux是否开启
getenforce

sed -i 's/enforcing/disabled/' /etc/selinux/config

8、禁用swap
sed -ri 's/.*swap.*/#&/' /etc/fstab

9、修改linux的内核参数
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF

# 加载br_netfilter模块
modprobe br_netfilter

# 生效
sysctl --system

10、安装ipset和ipvsadm
yum -y install ipset ipvsadm

#添加需要加载的模块写入脚本文件
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF

#如果使用的是较新的内核版本(4.19 及以上),nf_conntrack_ipv4 已被弃用。可以通过以下命令检查

添加权限
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

11、安装docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce #(yum -y install docker-ce-18.06.3.ce-3.el7)
systemctl enable docker && systemctl start docker
docker version
 

12、切换镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "exec-opts": ["native.cgroupdriver=systemd"],    
  "registry-mirrors": ["https://du3ia00u.mirror.aliyuncs.com"],    
  "live-restore": true,
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"},
  "storage-driver": "overlay2"
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

由于kubernetes的镜像在国外,速度比较慢,这里切换成国内的镜像源

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

安装kubeadm、kubelet和kubectl
yum install --setopt=obsoletes=0 kubeadm-1.23.0-0 kubelet-1.23.0-0 kubectl-1.23.0-0 -y

13、master运行,查看要用到的镜像
kubeadm config images list

收集修改镜像
images=(
    kube-apiserver:v1.23.17
    kube-controller-manager:v1.23.17
    kube-scheduler:v1.23.17
    kube-proxy:v1.23.17
    pause:3.6
    etcd:3.5.1-0
    coredns:v1.8.6
)

14、用脚本下载

for imageName in ${images[@]};do
    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
    docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName 
done


15、初始化改IP
kubeadm init --apiserver-advertise-address=192.168.157.156 --image-repository registry.aliyuncs.com/google_containers     --kubernetes-version=v1.23.17     --service-cidr=10.96.0.0/12     --pod-network-cidr=10.244.0.0/16

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

17、kubectl get node

18、节点加入(从初始化命令后复制结果所得)

kubeadm join 192.168.157.156:6443 --token 34f6u2.yzmpi3ezuk2v4ogu \
    --discovery-token-ca-cert-hash sha256:b1074a5e9689913c2ad627226d70be2cf349f6bf1f36667a870dda98f7bee4f3 

19、安装网络插件
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/tigera-operator.yaml

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/custom-resources.yaml

 查看部署进度
watch kubectl get pods -n calico-system

查看node

[root@master ~]# kubectl get nodes
NAME     STATUS   ROLES                  AGE    VERSION
master   Ready    control-plane,master   157m   v1.23.0
node     Ready    <none>                 10m    v1.23.0

20、测试

kubectl create deployment k8s-nginx --image=nginx -r 3
 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linuxxx110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值