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

相关推荐
petaexpress几秒前
常用的k8s容器网络模式有哪些?
网络·容器·kubernetes
华为云开源1 小时前
openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才
数据库·云原生·开源
m0_741768857 小时前
使用docker的小例子
运维·docker·容器
最新小梦9 小时前
Docker日志管理
运维·docker·容器
ZHOU西口11 小时前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui
有你的晚安._11 小时前
pod基本概念
kubernetes
Persistence is gold14 小时前
cassandra指定配置文件的docker启动方法
运维·docker·容器
C语言扫地僧14 小时前
Docker 镜像制作(Dockerfile)
linux·服务器·docker·容器
无名之逆18 小时前
云原生(Cloud Native)
开发语言·c++·算法·云原生·面试·职场和发展·大学期末
Richardlygo18 小时前
(k8s)Kubernetes部署Promehteus
云原生·容器·kubernetes