使用kubeadm安装k8s1.26.0笔记2

Posted 多一缕阳光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用kubeadm安装k8s1.26.0笔记2相关的知识,希望对你有一定的参考价值。

一. 安装版本

Kubeadm使用cni方式安装
版本:v1.26.0

 

二. 机器准备

1. 机器规格

本次安装1个master和1个node节点
Master: 192.168.64.6
Node: 192.168.64.7
规则:
CPU:2
内存:4G
系统:ubuntu20.04
磁盘:30G

Master使用cri-dockered方案安装
Node使用containered方案安装

2. 虚拟机准备

创建:

multipass launch -n master01 -c 2 -m 4G -d 40G

查看镜像:multipass find

指定版本:multipass launch -n master01 -c 2 -m 4G -d 40G 20.04

文档:
https://segmentfault.com/a/1190000023083548?utm_source=sf-similar-article

3. 机器配置

1.配置Dns

  检查dns是否可用

2. 外网权限

可以访问外网

3. 时区设置

timedatectl set-timezone Asia/Shanghai
date -R # 检查时区

4. 安装chrony

apt install chrony -y

修改配置:
/etc/chrony/chrony.conf
修改:pool master01 #将master01作为ntp服务器
重新启动:

root@master01:~# systemctl restart chronyd
root@master01:~# systemctl enable chronyd

主从控节点同步时间

chronyc sources

5. 设置hosts

hostnamectl set-hostname master #设置主机名称

设置hosts文件:

cat >> /etc/hosts << OFF
192.168.64.6 master01
192.168.64.7 node01
OFF

6. 关闭swap

# 如果不关闭,默认的kubelet将无法启动
swapoff -a #立即生效
sed -i \'s/.*swap.*/#&/\' /etc/fstab # 不立即生效
free -h #查看交换分区

7. 关闭防火墙

ufw disable

8. 加载ipvs模块

modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ipvs_sh
#modprobe -- nf_conntrack_ipv4
modprobe -- nf_conntrack
lsmod | grep nf_conntrack

9. 内核参数配置

# 创建/etc/sysctl.d/k8s.conf,添加如下内容
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables=1 # 开启网桥模式
net.bridge.bridge-nf-call-ip6tables=1 # 开启网桥模式
net.ipv4.ip_forward=1
EOF

#生效
modprobe br_netfilter # 立即生效,重启失效,流量控制的内核模块
sysctl -p /etc/sysctl.d/k8s.conf


# 配置永久生效
cat <<EOF |tee /etc/modules-load.d/k8s.conf
br_ netfilter
EOF

10. 安装其他工具

apt install -y ipvsadm ipset

三. Docker方式CRI安装

1. docker环境准备

1. 查看系统信息

 

root@master01:~# lsb_release  -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:    20.04
Codename:    focal

 

2. 查看内核版本

root@master01:~# uname -r
5.4.0-137-generic
root@master01:~# 

3. 查看完整的linux发行版信息

root@master01:~# cat /proc/version
Linux version 5.4.0-137-generic (buildd@bos01-arm64-023) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #154-Ubuntu SMP Thu Jan 5 17:03:02 UTC 2023

4. 查看所有的docker版本

 

root@master01:~# apt-cache madison docker-ce

5. 更新docker源

# 卸载原来的Docker以及contained

root@master01:~# apt-get remove docker docker-engine docker.io containerd runc 

root@master01:~# apt remove docker-ce docker-ce-cli containerd.id -y

# 更新apt程序包索引并安装程序包,已允许apt通过https使用存储库

# 安装必要的一些系统工具

root@master01:~# sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

# 添加docker官方的GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 设置稳定存储库

echo \\
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \\
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新

apt-get update

6. 安装最新版本

# 安装
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 查看版本
docker --version
docker info
# 通过systemd启动Docker服务
sudo systemctl start docker

# 可以通过status命令查看一下启动状态,此处无须管理员权限
systemctl status docker

7. 修改docker配置已适应kubelet

# 设置docker镜像加速及修改cgroups Driver

 cat > /etc/docker/daemon.json <<EOF
 

    "registry-mirrors": ["https://registry.cn.hangzhou.aliyuncs.com"],
    
    "exec-opts": ["native.cgroupdriver=systemd"]



EOF

重新加载

systemctl daemon-reload

systemctl  restart docker

 

2. Ubuntu安装CRI-dockered

开源项目-替换dockershim in kubelet中

地址:

https://github.com/Mirantis/cri-dockerd

1. 下载及安装

# 下载

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd_0.3.1.3-0.ubuntu-focal_amd64.deb

# 安装

dpkg -i cri-dockerd_0.3.1.3-0.ubuntu-focal_amd64.deb

# 或者使用tgz的包进行安装

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd-0.3.1.arm64.tgz
cp cri-dockerd/cri-dockerd /usr/bin/
chmod +x /usr/bin/cri-dockerd

配置 cri-dockerd

设置配置文件

vim /usr/lib/systemd/system/cri-docker.service 

ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint=unix:///var/run/cri-dockerd.sock --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9

启动 cri-docker

systemctl daemon-reload
systemctl start cri-docker
systemctl enable cri-docker
systemctl status cri-docker

四. Kubeadm Kubelet Kubectl安装

1. kubeadm简介

kubeadm是kubernetes的集群安装工具, 能够快速完成集群的安装,能完成下面的拓扑安装

  • 但节点k8s(1+0)
  • 单master和多个node的k8s(1+n)
  • Master ha 和多个node的k8s(m*1+n)

kubeadm在整个k8s架构的位置

  

2. kubeadm常用命令

3. 安装

3. 安装2

以上是关于使用kubeadm安装k8s1.26.0笔记2的主要内容,如果未能解决你的问题,请参考以下文章

关于 Kubernetes使用kubeadm重置集群的一些笔记

如何使用 kubeadm 安装 Kubernetes?

Kubernetes(k8s) 笔记总结

Kubernetes(k8s) 笔记总结

使用kubeadm安装K8s-1.14.2

Kubernetes Master Worker 节点 Kubeadm 加入问题