k8s 安装

前面依赖安装,可以参考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

相关推荐
天才奇男子8 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
lpruoyu13 小时前
【Docker进阶-05】Docker网络
网络·docker·容器
人间打气筒(Ada)14 小时前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
江畔何人初15 小时前
pod的内部结构
linux·运维·云原生·容器·kubernetes
三块钱079416 小时前
群晖docker部署Mattermost,对接openclaw
运维·docker·容器
周航宇JoeZhou17 小时前
JB2-7-HTML
java·前端·容器·html·h5·标签·表单
苦逼IT运维18 小时前
从 0 到 1 理解 Kubernetes:一次“破坏式”学习实践(一)
linux·学习·docker·容器·kubernetes
萧曵 丶18 小时前
Docker 面试题
运维·docker·容器
晨港飞燕18 小时前
容器,pod,节点概念
容器
腾讯云开发者19 小时前
言出法随 -- Chaterm如何通过ASR精准操作K8S
云原生·容器·kubernetes