环境
香港服务器
操作系统 | kubernetes | docker |
---|---|---|
ubuntu22.04 LTS | 1.23.5-00 | 5:20.10.143-0ubuntu-jammy |
时间同步
timedatectl set-timezone Asia/Shanghai
sudo apt install ntpdate
sudo ntpdate ntp.ubuntu.com
关闭防火墙
sudo systemctl disable --now ufw
关闭swap分区
#Swap是交换分区,如果机器内存不够,会使用swap分区,但是swap分区的性能较低
#k8s的目的就是提升性能,默认是不适用swap分区的
#初始化的时候,会检测是否关闭,未关闭会导致初始化失败
#如果想使用swap分区,在init的时候加--ignore-preflight-errors=Swap
sudo swapoff /swapfile
安装docker(指定版本)
#k8s在在1.21版本放弃了docker支持,引用了containerd,
#但docker跟containerd不冲突,docker是为了能基于dockerfile构建镜像
sudo apt-get update
sudo apt-get install docker-ce=5:20.10.14~3-0~ubuntu-jammy
安装containerd
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg -- dearmour -o /etc/apt/trusted.gpg.d/docker.gpg
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y containerd.io
安装kubeadm、kubectl和kubelet
#Kubeadm: kubeadm是一个工具,用来初始化k8s集群的
#kubelet: 安装在集群所有节点上,用于启动Pod的,kubeadm安装k8s,k8s控制节点和工作节点的组件,都是基于pod运行的,只要pod启动,就需要kubelet
#kubectl: 通过kubectl可以部署和管理应用,查看各种资源,创建、删除和更新各种组件
#使apt支持ssl传输
sudo apt-get install -y apt-transport-https
#下载gpg密钥
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
#添加apt源
sudo apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
sudo apt-get update
#安装指定版本
sudo apt-get install kubelet=1.23.5-00 kubeadm=1.23.5-00 kubectl=1.23.5-00
#阻止自动更新
sudo apt-mark hold kubelet kubeadm kubectl
评论区