基于Ubuntu部署企业级kubernetes集群---k8s集群容部署

news/2024/9/21 8:33:49/文章来源:https://www.cnblogs.com/xu53105656/p/18385809

1.下载用于Kubernetes软件包仓库的公共签名秘钥

#如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它。
sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg  

添加Kubernetes apt 仓库

echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

查看看具体配置

跟新apt 包索引

sudo apt-get update

2.k8s集群软件安装

安装软件之前,可以先查看软件列表

apt-cache policy kubeadm

也可以查看软件列表及其依赖关系

apt-cache showpkg kubeadm

# 查看软件列表
apt-cache madison kubeadm

 默认安装

sudo  apt-get install -y kubelet kubeadm kubectl
# 也可以安装指定版本
sudo apt-get install -y  kubelet=1.29.0-1.1   kubeadm=1.29.0-1.1  kubectl=1.29.0-1.1
#  锁定版本,防止后期自动更新
sudo apt-mark hold kubelet kubeadm kubectl
# 解锁版本,可以执行更新
sudo apt-mark unhold kubelet kubeadm kubectl

3.k8s集群初始化

3.1.集群配置文件

查看版本

kubeadm version

 生成部署配置文件

kubeadm config print init-defaults > kubeadm-config.yaml

 需要编辑kubeadm-config.yaml文件

vim kubeadm-config.yaml

 需要将advertiseAddress: 1.2.3.4  由“1.2.3.4” 改成“192.168.113.131”    将name: node 由  "node" 改成 "k8s-master01"   Netwoking 需要 增加 pod

文件内容最后追加

 ---kind: KubeletConfigurationapiVersion: kubelet.config.k8s.io/v1betalcgroupDriver: systemd

最终如下:

apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
bootstrapTokens:- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authentication
localAPIEndpoint:advertiseAddress: 192.168.113.131bindPort: 6443
nodeRegistration:criSocket: unix:///var/run/containerd/containerd.sock
  imagePullPolicy: IfNotPresentname: k8s-master01taints: null
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
apiServer:timeoutForControlPlane: 4m0s
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.k8s.io
kubernetesVersion: 1.29.0
networking:dnsDomain: cluster.localserviceSubnet: 10.96.0.0/12
  podSubnet: 10.244.0.0/16
scheduler: {}
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

 

 查看镜像

sudo kubeadm config images list

# 拉取镜像
kubeadm config images pull

如果拉取失败则,可以使用

kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers

# 查看具体镜像
crictl images

 3.2使用部署配置文件初始化K8S集群

# 初始化
kubeadm init --config kubeadm-config.yaml

结果报错了如下:

 需要检查配置文件中的 apiVersion配置的信息是否正确

正常输出的内容如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/788952.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是算法?一切皆算法

如果有人问我什么算法?我就一句话:算法就是对一类问题的最优求解路径。如果有人问我什么算法?我就一句话:算法就是对一类问题的最优求解路径。 1、计算机领域的算法概念 算法一直都是计算机领域非常重要的概念,具备极高的地位,各个公司对算法的考察也非常热衷。 我们只有…

Adobe After Effects 2024 v24.6 (macOS, Windows) - 后期特效

Adobe After Effects 2024 v24.6 (macOS, Windows) - 后期特效Adobe After Effects 2024 v24.6 (macOS, Windows) - 后期特效 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom C…

在SimpleRAG中使用SiliconCloud快速测试Function Calling

Funcion Calling介绍 函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。 如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调…

Semantic Kernel/C#:一种通用的Function Calling方法,文末附经测试可用的大模型

Funcion Calling介绍 函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。 如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调…

折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理

Quickwit 从底层构建,旨在 高效地索引非结构化数据,并在云存储上轻松搜索这些数据。 此外,Quickwit 开箱即支持 OpenTelemetry gRPC 和 HTTP(仅 protobuf)协议,并提供了一个 REST API,可以接收任何 JSON 格式的日志。 这让 Quickwit 成为了日志的理想选择!.https://qui…

读软件开发安全之道:概念、设计与实施12不受信任的输入

读软件开发安全之道:概念、设计与实施12不受信任的输入1. 不受信任的输入 1.1. 不受信任的输入可能是编写安全代码的开发人员最关心的问题1.1.1. 最好将其理解为输入系统中的所有不受信任的输入1.1.2. 来自受信任的代码的输入可以提供格式正确的数据1.2. 不受信任的输入是指那…

第12篇 window上验证mysql是否安装成功

1.命令提示符cmd窗口验证 1.1 键盘win+R打开命令提示符,输入cmd。 1.2 在电脑中找到安装好的MySQL的bin文件目录 。这是我的安装目录C:\Program Files\MySQL\MySQL Server 5.7\bin。1.3 在命令提示符中输入cd C:\Program Files\MySQL\MySQL Server 5.7\bin,再输入mysql -h loc…

南沙csp-j/s陈老师解题:1050:骑车与走路

​【题目描述】在清华校园里,没有自行车,上课办事会很不方便。但实际上。并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米…

第11篇 MySql8.0 安装配置教程细讲

话不多说直接开干在安装之前, 先确定一下, 电脑上之前有没有安装MySQL ?或者看看有没有这个路径如果有, 请搜索网上的教程 1,停止服务 2,删除注册表 3,删除安装目录和data目录(如果有data目录的话) 弄完最好再重启系统 如果有删除残留可能导致后面安装出现问题 再开始阅读本教…

记录一次pip安装不了包(换源也不得行)

记录一次pip安装不了包(换源也不得行) 1.使用阿里云。安装不成功 (.venv) PS E:\python项目\路飞学院> pip install scrapy==2.5.1 -i http://mirrors.aliyun.com/pypi/simple/ Looking in indexes: http://mirrors.aliyun.com/pypi/simple/ WARNING: The repository lo…

net core中byte数组如何高效转换为16进制字符串

.NET Core 中把 byte[] 转换为 16 进制字符串的五种方法,简洁,灵活,高性能,哪个适合你?在 .NET Core 中,如何把 byte[] 转换为 16 进制字符串?你能想到哪些方法?什么方式性能最好?今天和大家分享几种转换方式。 往往在处理字符串性能问题时,首先应该想到的是怎么想办…

学习爬虫day30-瑞数eval入口定位及VM

“VM”表示的是Virtual Machine(虚拟机),这些文件通常表示由浏览器生成和执行的虚拟机脚本环境中的临时脚本。这些脚本并不是项目源代码的一部分,也不是实际存在的物理文件。 它们在浏览器的内存中创建并执行;通过eval函数或者new Function方法,Chrome浏览器会创建一个&q…