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

相关推荐
007php0074 小时前
百度面试题解析:Zookeeper、ArrayList、生产者消费者模型及多线程(二)
java·分布式·zookeeper·云原生·职场和发展·eureka·java-zookeeper
weixin_405023374 小时前
使用docker 安装部署easy-mock
运维·docker·容器
Asuncion0075 小时前
Docker核心揭秘:轻量级虚拟化的革命
服务器·开发语言·docker·云原生
ZLRRLZ5 小时前
【Docker】Docker Image(镜像)
运维·docker·容器
小熊h5 小时前
Kubernetes(K8s) —— 部署(保姆级教程)
云原生·容器·kubernetes
祁同伟.6 小时前
【C++】二叉搜索树(图码详解)
开发语言·数据结构·c++·容器·stl
一个处女座的暖男程序猿6 小时前
若依微服务 nacos的配置文件
微服务·云原生·架构
分布式存储与RustFS7 小时前
存算一体架构的先行者:RustFS在异构计算环境下的探索与实践
大数据·人工智能·物联网·云原生·对象存储·minio·rustfs
Akshsjsjenjd8 小时前
Docker资源限制详解
运维·docker·容器
xrkhy8 小时前
微服务之OpenFeign 服务调用
微服务·云原生·架构