Ubuntu 22.04 安装 Kubernetes 1.26

(此文章是通过youtube作者geekhead的视频总结而成)
目前此部署方式仅用来学习,未进行实际应用验证,请慎重用于生产

所需资源:

​ 三台服务器最低配置:

​        2C 4G 20G

​ 内网互通网段:

​        10.0.0.0/16

​ 内网地址:

​        10.0.0.1 k8s001(控制节点)

​        10.0.0.2 k8s002(子节点1)

​        10.0.0.3 k8s003(子节点2)

文件资源:

	链接: https://pan.baidu.com/s/1V15BueaO_5xQLYcNS5Z8mw 提取码: 4q3m 复制这段内容后打开百度网盘手机App,操作更方便哦


	需要将上面所有文件上传到每个机器的 /root/ 文件夹中

一、所有节点服务器运行

1.配置系统参数及hosts
# 根据集群内网ip自行调整
printf "\n10.0.0.1 k8s001\n10.0.0.2 k8s002\n10.0.0.3 k8s003\n" >> /etc/hosts
printf "overlay\nbr_netfilter\n" >> /etc/modules-load.d/containerd.conf
modprobe overlay
modprobe br_netfilter
printf "net.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1\nnet.bridge.bridge-nf-call-ip6tables = 1\n" >> /etc/sysctl.d/99-kubernetes-cri.conf
sysctl --system
2.安装containerd,runc,cni
tar Cxzvf /usr/local /root/containerd-1.6.16-linux-amd64.tar.gz
scp /root/containerd.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now containerd
install -m 755 /root/runc.amd64 /usr/local/sbin/runc
mkdir -p /opt/cni/bin
tar Cxzvf /opt/cni/bin /root/cni-plugins-linux-amd64-v1.2.0.tgz
3.生成containerd配置文件,并修改国内镜像加速
mkdir -p /etc/containerd
containerd config default | tee /etc/containerd/config.toml
scp /root/config.toml /etc/containerd/config.toml
systemctl restart containerd
4.关闭防火墙并替换下载组件的镜像源
swapoff -a
apt-get update
apt-get install -y apt-transport-https ca-certificates curl
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-archive-keyring.gpg
sudo apt update
apt-get update
# 重启
reboot
5.安装组件
apt-get install -y kubelet=1.26.1-00 kubeadm=1.26.1-00 kubectl=1.26.1-00
apt-mark hold kubelet kubeadm kubectl
# 同步时间
apt install ntpdate
ntpdate ntp.ntsc.ac.cn
hwclock

# 查看防火墙配置 是否都为0
free -m

二、只有控制节点服务器运行

1.初始化kubeadm
# cidr_ip 可自选网段,不要与服务器内网重复
kubeadm init --pod-network-cidr 192.168.0.0/16 --kubernetes-version 1.26.1 --node-name k8s001 --image-repository registry.aliyuncs.com/google_containers
2.复制配置文件到新用户文件夹
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.添加Calico 3.25 CNI
kubectl create -f /root/calico.yaml
# 通过这行命令查看安装进度,等待所有 pod 状态 running
watch kubectl get pods -n calico-system
4.等待安装完成执行清除污点
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
kubectl taint nodes --all node-role.kubernetes.io/master-
5.安装calicoctl
scp /root/kubectl-calico /usr/local/bin/calicoctl
chmod +x /usr/local/bin/calicoctl
export CALICO_DATASTORE_TYPE=kubernetes
export CALICO_KUBECONFIG=~/.kube/config
calicoctl get workloadendpoints -A
calicoctl node status
6.获取子节点加入代码(添加子节点时使用)
kubeadm token create --print-join-command

三、只有子节点服务器运行

# 运行主节点(二.7中)获取的加入代码

四、进行测试

1.查看集群各部分运行状态(主节点)
# 节点
kubectl get nodes
# 所有 pod
kubectl get pods -A
# 所有 pod 外加重要信息属性
kubectl get pods -A -o wide
# api 服务
kubectl get apiservices
# 网络连接信息
ip link show
# 网络路由规则
ip route
2.开启一个nginx测试(主节点)
kubectl run test-nginx --image=nginx
# 刷新等待 test-nginx pod running 查看对应的ip
kubectl get pods -A -o wide
3.测试pod ip(每个节点)
# curl 上面 ip 部署成功在任一节点都可获取到nginx页面
curl 192.168.3.65
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值