美文网首页
离线部署单机kubenetes-1.28.4

离线部署单机kubenetes-1.28.4

作者: mini鱼 | 来源:发表于2023-11-23 18:59 被阅读0次

环境准备

IP、主机名设置

  • 使用静态IP
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.177.138
NETMASK=255.255.255.0
  • 修改主机名
hostnamectl set-hostname k8s-test
exec bash
echo "192.168.177.138  k8s-test" >> /etc/hosts

关闭swap分区

# 如果有的话,关闭swap分区
swapoff -a
vi /etc/fstab # 永久关闭swap分区,注释掉fstab中包含swap的这一行
# /dev/mapper/centos-swap swap                    swap    defaults        0 0

关闭firewalld,selinux

sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

转发 IPv4 并让 iptables 看到桥接流

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# 设置所需的 sysctl 参数,参数在重新启动后保持不变
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

# 应用 sysctl 参数而不重新启动
sudo sysctl --system

lsmod | grep br_netfilter
lsmod | grep overlay

sysctl net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables net.ipv4.ip_forward

# 如果init时仍提示iptables错误请执行
echo "1">/proc/sys/net/bridge/bridge-nf-call-iptables
echo "1">/proc/sys/net/ipv4/ip_forward

重启服务器

如果selinux之前是开的,需要重启服务器


一、 部署包准备

tar zxvf kubenetes-1.28.4-oe2203sp2.tar.gz

二、 安装docker及cri-docker

  • 安装软件包
cd kubenetes-1.28.4-oe2203sp2/docker-ce/
rpm -ivh *.rpm
image.png
  • 修改配置文件
sudo mkdir -p /etc/docker
scp daemon.json /etc/docker
scp cri-docker.service  /usr/lib/systemd/system/cri-docker.service 
  • 启动服务
systemctl daemon-reload && systemctl restart docker cri-docker.socket cri-docker 
systemctl status docker cri-docker

三、安装kubenetes

1、安装相关rpm包

cd ../kubenetes-1.28.4-rpm/
rpm -ivh *.rpm
image.png

2、启动kubelet

#systemctl start kubelet
systemctl enable kubelet

3、导入镜像

cd ../kubenetes-1.28.4-images/
for i in `ls *.tar`; do docker load -i $i ;done
image.png
4、初始化集群
替换其中的 --node-name,--apiserver-advertise-address
kubeadm init --node-name=k8s-test \
--image-repository=registry.aliyuncs.com/google_containers \
--cri-socket=unix:///var/run/cri-dockerd.sock \
--apiserver-advertise-address=192.168.177.138 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12
image.png
  • 根据提示执行命令
配置环境变量
# 非root用户请执行
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

# root用户直接执行
# 临时生效,重启后失效,不推荐。
$ export KUBECONFIG=/etc/kubernetes/admin.conf 
# 永久生效,执行kubeadm reset后再次init也无需再次执行这条命令
$ echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >>  ~/.bash_profile 
$ source ~/.bash_profile
# 添加节点命令:
kubeadm join 192.168.177.138:6443 --token ybmcig.iv403delaz5p5vfe \
        --discovery-token-ca-cert-hash sha256:008183ca74d9f7577684566ca53e801205f0de54ee225deb4fc4d015c828608a

5、安装网络组件

kubectl apply -f kube-flannel.yml

相关文章

网友评论

      本文标题:离线部署单机kubenetes-1.28.4

      本文链接:https://www.haomeiwen.com/subject/qlsgwdtx.html