前面依赖安装,可以参考docker安装
- kubelet: k8s 的核心服务
- kubeadm: 这个是用于快速安装 k8s 的一个集成工具,我们在master1和worker1上的 k8s 部署都将使用它来完成。
- kubectl: k8s 的命令行工具,部署完成之后后续的操作都要用它来执行
前置条件:
1.安装ssh
sudo apt-get install openssh-server
sudo ufw allow ssh
2.关闭 swap 内存
执行如下命令关闭swap内存
#临时
swapoff -a
#永久
sudo sed -i '/ swap / s/^(.*)$/#1/g' /etc/fstab
3.修改内核参数
sudo tee /etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
#配置网络参数
sudo tee /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
其实这三个的下载很简单,直接用apt-get就好了,但是因为某些原因,它们的下载地址不存在了。所以我们需要用国内的镜像站来下载,也很简单,依次执行下面五条命令即可
1.使得 apt 支持 ssl 传输
apt-get update && apt-get install -y apt-transport-https
2.下载 gpg 密钥
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
3.添加 k8s 镜像源
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
4.更新源列表
apt-get update
5.安装 kubectl,kubeadm以及 kubelet
apt-get install -y kubelet kubeadm kubectl
直接在/etc/apt/sources.list里添加kubernetes-apt安装包下载_开源镜像站-阿里云 是不行的,因为这个阿里镜像站使用的ssl进行传输的,所以要先安装apt-transport-https并下载镜像站的密钥才可以进行下载
6.运行systemctl start命令启动kubelet服务,并设置为开机自动启动
root@master01:/app# systemctl start kubelet
root@master01:/app# systemctl enable kubelet
wsl中用service替换
整体指令:
sudo ufw disable
sudo apt install selinux-utils
sudo setenforce 0
sudo bash -c 'echo 'SELINUX=disabled' > /etc/selinux/conifg'
sudo bash -c 'echo '/usr/sbin/iptables -P FORWARD ACCEPT' >> /etc/rc.local'
sudo iptables -P FORWARD ACCEPT
sudo sed -i 's/.*swap.*/#&/' /etc/fstab
sudo tee /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
EOF
sudo modprobe br_netfilter
sudo sysctl --system
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
sudo su - && sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - && sudo apt install -y docker-ce && sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && sudo apt update && sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo curl -o kubernetes.list https://raw.githubusercontent.com/fofcn/go-devops/main/release/pipeline/k8s/aliyun-kubernetes.list
sudo mv kubernetes.list /etc/apt/sources.list.d/kubernetes.list
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
sudo apt update
sudo apt-cache madison kubelet
sudo apt-cache madison kubectl | grep 1.18.4-00
sudo apt install -y kubelet=1.18.4-00 kubeadm=1.18.4-00 kubectl=1.18.4-00
apt-mark hold kubelet kubeadm kubectl
sudo systemctl enable kubelet
sudo systemctl start kubelet
参考文档
1、安装docker和containerd:Install Docker Engine on Ubuntu | Docker Docs
2、安装kubeadm:安装 kubeadm | Kubernetes
3、安装后:11 | 从0到1:搭建一个完整的Kubernetes集群-深入剖析Kubernetes-极客时间
4、CNI:https://www.jianshu.com/p/d446121dbfc2
5、配置 API - kubeadm 配置 (v1beta3) - 《Kubernetes v1.26 中文文档》 - 书栈网 · BookStack