Ubuntu22.04部署K8S1.27.2版本集群

2024-03-15 00:20

本文主要是介绍Ubuntu22.04部署K8S1.27.2版本集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、设置主机名并在 hosts 文件中添加条目

1、登录节点使用 hostnamectl 命令设置 hostname

#在master中:      172.18.10.11

$ sudo hostnamectl set-hostname "k8s-master"

#在work1节点中:  172.18.10.12

$ sudo hostnamectl set-hostname "k8s-worker1"

#在work2节点中:  172.18.10.13

$ sudo hostnamectl set-hostname "k8s-worker2"

$ exec bash

 2、在每个节点上的 /etc/hosts 文件中添加以下内容

sudo vi /etc/hosts

172.18.10.11   k8s-master

172.18.10.12   k8s-worker1

172.18.10.13   k8s-worker2

 二、 禁用 swap & 添加内核设置

1、在所有节点上,执行下面的 swapoff 和sed命令禁用交换功能

$ sudo vi /etc/fstab

#关闭后记得重启虚拟机

2、在所有节点上加载以下内核模块

$ sudo tee /etc/modules-load.d/containerd.conf <<EOF

overlay

br_netfilter

EOF

$ sudo modprobe overlay

$ sudo modprobe br_netfilter

3、为 Kubernetes 设置以下内核参数,运行如下的tee命令

$ 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

三、所有节点安装 containerd 容器运行时

1、安装容器运行时依赖项

$ sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

启用 docker 存储库

$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg

$ sudo add-apt-repository "deb [arch=amd64] Index of linux/ubuntu/ $(lsb_release -cs) stable"

3、安装 containerd

$ sudo apt update

$ sudo apt install -y containerd.io

 4、配置 containerd

使它使用 systemd 作为 cgroup

$ containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1

$ sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml

5、将镜像地址换为阿里云地址,否者在初始化时无法拉取到镜像

$ sudo sed -i "s#registry.k8s.io/pause#registry.aliyuncs.com/google_containers/pause#g" /etc/containerd/config.toml

6、重启并启用 containerd 服务

$ sudo systemctl daemon-reload

$ sudo systemctl restart containerd

$ sudo systemctl enable containerd

四、添加 Kubernetes apt 存储库

1、下载 Google Cloud 公开签名秘钥

$ sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

此操作需要看脸,若脸黑出现以下报错

curl: (28) Failed to connect to packages.cloud.google.com port 443 after 129625 ms: 连接超时

需手动下载https://packages.cloud.google.com/apt/doc/apt-key.gpg,将下载后的apt-key.gpg复制到/usr/share/keyrings/kubernetes-archive-keyring.gpg文件下:

$ sudo cp /home/lin/apt-key.gpg  /usr/share/keyrings/kubernetes-archive-keyring.gpg

2、添加 Kubernetes apt仓库

$ echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

五、安装Kubectl, kubeadm 和 kubelet

1、更新索引

$ sudo apt-get update

解决方法:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxxxxx(缺少的公钥)

#公钥位置如上图标红,则命令应为

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B53DC80D13EDEF05

继续sudo apt-get update更新索引报一样错误

原因是该镜像官网地址是国外的,国内访问不了,需要换源

$ sudo echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

继续sudo apt-get update更新索引

 2、在所有节点上安装 kubectl,kubelet,Kubeadm并锁定其版本

$ sudo apt-get install -y kubelet kubeadm kubectl

$ sudo apt-mark hold kubelet kubeadm kubectl

worker节点报错

解决方法:

$ sudo echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

 $ sudo apt-get update报错

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B53DC80D13EDEF05

 

继续$ sudo apt-get update更新索引

 $ sudo apt-get install -y kubelet kubeadm kubectl

$ sudo apt-mark hold kubelet kubeadm kubectl

 六、初始化 Kubernetes 集群

$ sudo vi /etc/containerd/config.toml

$ sudo systemctl daemon-reload

$ sudo systemctl restart containerd

$ sudo systemctl enable containerd

 1、在主节点上运行以下命令初始化

#–apiserver-advertise-address=172.18.10.11 为Master的IP

#–image-repository registry.aliyuncs.com/google_containers 指定镜像仓库,如果不指定默认是k8s.gcr.io

$ sudo kubeadm init \

--image-repository registry.aliyuncs.com/google_containers  \

--apiserver-advertise-address=172.18.10.11 \

--kubernetes-version v1.27.1 \

--pod-network-cidr=10.244.0.0/16 \

--v=5

 输出以下内容表示初始化成功,同时还得到了一组与集群交互的命令,以及工作节点加入集群的命令

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

#集群交互命令

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

Installing Addons | Kubernetes

Then you can join any number of worker nodes by running the following on each as root:

#工作节点加入集群的命令

kubeadm join k8s-master:6443 --token 04bkvu.6yc4clf05z009t1b

--discovery-token-ca-cert-hash sha256:088e804bb2658add7bfd6f6620beb0f6df5307c3371a7d623f8563b5ac30347d

注意:若在此之前对集群进行过初始化或加入节点操作,应通过kubeadm reset命令还原通过 ‘kubeadm init’ 或者 ‘kubeadm join’ 操作对主机所作的更改再重新进行初始化

kubeadm reset --cert-dir string

#--cert-dir string 存储证书的目录路径。如果已指定,则需要清空此目录。默认值:"/etc/kubernetes/pki";初始化集群过应加此参数

参数

作用

–cert-dir string

清空存储证书的目录路径

–cleanup-tmp-dir

清理 “/etc/kubernetes/tmp” 目录

–cri-socket string

要连接的 CRI 套接字的路径

–dry-run

不做任何更改

-f, --force

在不提示确认的情况下重置节点

–kubeconfig string

与集群通信时使用的 kubeconfig ,文件默认值:"/etc/kubernetes/admin.conf"

2、在主节点输入集群交互命令$ mkdir -p $HOME/.kube

$ mkdir -p $HOME/.kube

$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

 3、工作节点加入集群

在工作节点输入加入集群命令,在初始化成功输出内容中寻找

$ sudo kubeadm join k8s-master:6443 --token 04bkvu.6yc4clf05z009t1b \

--discovery-token-ca-cert-hash sha256:088e804bb2658add7bfd6f6620beb0f6df5307c3371a7d623f8563b5ac30347d

添加节点2成功加入输出以下内容

 在主节点查看节点状态

$ kubectl get nodes

 4、在主节点安装flannel网络插件(CNI)

$ curl -O https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

$ kubectl apply -f kube-flannel.yml

 部署好网络插件之后此时再次查看节点可以看到状态变成了ready

$ kubectl get pod -A

这篇关于Ubuntu22.04部署K8S1.27.2版本集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810194

相关文章

UnrealScriptIDE调试环境部署

先安装vs2010   再安装VSIsoShell.exe, 下载地址 https://pan.baidu.com/s/10kPNUuDGTbWXbz7Nos-1WA       fd3t   最后安装unside,下载地址 https://archive.codeplex.com/?p=uside  安装中间有一步选择Binary文件夹要选对路径。   安装好以后,启动 UDKDe

ONLYOFFICE 8.1 版本桌面编辑器测评

在现代办公环境中,办公软件的重要性不言而喻。从文档处理到电子表格分析,再到演示文稿制作,强大且高效的办公软件工具能够极大提升工作效率。ONLYOFFICE 作为一个功能全面且开源的办公软件套件,一直以来都受到广大用户的关注与喜爱。而其最新发布的 ONLYOFFICE 8.1 版本桌面编辑器,更是带来了诸多改进和新特性。本文将详细评测 ONLYOFFICE 8.1 版本桌面编辑器,探讨其在功能、用户

17.用300行代码手写初体验Spring V1.0版本

1.1.课程目标 1、了解看源码最有效的方式,先猜测后验证,不要一开始就去调试代码。 2、浓缩就是精华,用 300行最简洁的代码 提炼Spring的基本设计思想。 3、掌握Spring框架的基本脉络。 1.2.内容定位 1、 具有1年以上的SpringMVC使用经验。 2、 希望深入了解Spring源码的人群,对 Spring有一个整体的宏观感受。 3、 全程手写实现SpringM

Visual Studio中,MSBUild版本问题

假如项目规定了MSBUild版本,那么在安装完Visual Studio后,假如带的MSBUild版本与项目要求的版本不符合要求,那么可以把需要的MSBUild添加到系统中,然后即可使用。步骤如下:            假如项目需要使用V12的MSBUild,而安装的Visual Studio带的MSBUild版本为V14。 ①到MSDN下载V12 MSBUild包,把V12包解压到目录(

Pycharm配置conda环境(解决新版本无法识别可执行文件问题)

引言: 很多小伙伴在下载最新版本的pycharm或者更新到最新版本后为项目配置conda环境的时候,发现文件夹目录中无法显示可执行文件(一般为python.exe),以下就是本人遇到该问题后试验和解决该问题的一些方法和思路。 一般遇到该问题的人群有两种,一种是刚入门对pycharm进行conda环境配置的小白(例如我),不熟悉相关环境配置的操作和过程,还有一种是入坑pycharm有段时间的老手

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:

宝塔面板部署青龙面板教程【简单易上手】

首先,你得有一台部署了宝塔面板的服务器(自己用本地电脑也可以)。 宝塔面板部署自行百度一下,很简单,这里就不走流程了,官网版本就可以,无需开心版。 首先,打开宝塔面板的软件商店,找到下图这个软件(Docker管理器)安装,青龙面板还是安装在docker里,这里依赖宝塔面板安装和管理docker。 安装完成后,进入SSH终端管理,输入代码安装青龙面板。ssh可以直接宝塔里操作,也可以安装ssh连接

手把手教你入门vue+springboot开发(五)--docker部署

文章目录 前言一、前端打包二、后端打包三、docker运行总结 前言 前面我们重点介绍了vue+springboot前后端分离开发的过程,本篇我们结合docker容器来研究一下打包部署过程。 一、前端打包 在VSCode的命令行中输入npm run build可以打包前端代码,出现下图提示表示打包完成。 打包成功后会在前端工程目录生成dist目录,如下图所示: 把

[Centos7] 部署Zabbix5.0

目录 0 卸载 Zabbix1 准备工作1.1 关闭防火墙1.2 关闭SELinux1.3 重启服务器1.4 安装MySQL 2 配置 Zabbix yum 源2.1 安装zabbix的软件仓库配置包2.2 安装 Software Collections 仓库2.3 修改 Zabbix 仓库配置文件 3 安装 Zabbix3.1 遇到报错Requires: libmysqlclient.so

下载Xcode的历史版本

1.打开链接:https://developer.apple.com/download/more 进入页面 2.在搜索框输入Xcode,回车搜索.如图,找到各种版本Xcode 搜索Xcode 3.双击要下载的Xcode,或者点击前面的+,打开详细.点击下载 下载Xcode 4.接下来就耐心等待下载吧!