全网最详细k8s搭建部署

目录

Kubernetes的功能:

Kubernetes的特点:

1. 安装要求

2. 部署内容

1、系统环境准备

2、所有禁用swap和本地解析

3、仓库配置,所有安装docker

4、所有节点设定docker的资源管理模式为systemd

5、所有阶段复制harbor仓库中的证书并启动docker 

安装K8S部署工具

设置kubectl命令补齐功能

在所节点安装cri-docker

在master节点拉取K8S所需镜像


Kubernetes,简称K8s,是由Google在2014年开源的容器集群管理系统。它是基于Google内部使用的Borg系统多年经验开发而成的,旨在帮助用户轻松管理和部署容器化应用程序。Kubernetes具有高度可扩展、自动化和便携性,使其成为现代云原生应用的事实标准。

Kubernetes的功能:

  • 快速部署应用:通过声明式配置,Kubernetes可以快速地将应用程序部署到集群中。
  • 快速扩展应用:Kubernetes可以根据应用负载自动或手动进行横向扩展。
  • 无缝对接新的应用功能:通过滚动更新和回滚功能,Kubernetes能够确保服务的持续可用性。
  • 节省资源,优化硬件资源的使用:Kubernetes的高效调度机制能够最大化硬件资源的利用率。

Kubernetes的特点:

  • 可移植性:Kubernetes支持多种云平台和裸机环境,允许用户在公有云、私有云、混合云甚至多重云环境中无缝迁移和运行。
  • 可扩展性:Kubernetes的架构是模块化的,支持插件化和可组合性,允许用户根据需要添加或自定义功能。
  • 自动化:Kubernetes提供了自动化的部署、重启、复制和扩展/伸缩功能,极大地简化了运维工作。

1. 安装要求

在开始部署Kubernetes集群之前,以下条件必须得到满足:

  • 操作系统:所有节点需要运行CentOS 7.7或更高版本的64位操作系统。
  • 硬件配置
    • 内存:至少2GB RAM。
    • CPU:至少2个CPU核心。
    • 硬盘空间:至少30GB可用空间。
  • 网络配置:所有节点必须能够互相通信,且不需要NAT或端口映射。
  • 互联网访问:节点需要能够访问互联网,以便下载Docker镜像和Kubernetes组件。
  • swap分区:建议关闭swap分区,因为Kubernetes推荐在物理内存不足时进行Pod驱逐,而不是使用swap。

2. 部署内容

  • 软件版本:Kubernetes v1.16.2和Docker v19.03。
  • 部署步骤
    • 在所有节点上安装Docker和Kubernetes的核心组件,如kubeadm和kubelet。
    • 初始化集群并部署Kubernetes Master,这是集群的控制平面。
    • 部署容器网络插件,以实现Pod之间以及Pod与外部世界的通信。
    • 将Kubernetes Node加入到集群中,Node是执行应用程序的工作节点。

以下是详细的部署步骤:

1、系统环境准备

主机IP
k8s-master172.25.254.100
k8s-node1172.25.254.10
k8s-node2172.25.254.20
harbor172.25.254.254

2、所有禁用swap和本地解析

[root@k8s-node1 ~]# systemctl mask swap.target
Created symlink /etc/systemd/system/swap.target → /dev/null.
[root@k8s-node1 ~]# swapoff -a
[root@k8s-node1 ~]# vim /etc/fstab

vim /etc/hosts

3、仓库配置,所有安装docker

vim /etc/yum.repos.d/docker.repo

dnf install docker-ce -y

4、所有节点设定docker的资源管理模式为systemd

vim /etc/yum.repos.d/rhel9.repo

 

5、所有阶段复制harbor仓库中的证书并启动docker 


[root@k8s-hub certs]# for ip in 172.25.254.10 172.25.254.20 172.25.254.100; do
 scp -r 172.25.254.254:/etc/docker/certs.d/reg.cfy.org/ ${ip}:/etc/docker/certs.d/reg.cfy.org/
done

docker info

vim /root/harbor/harbor.yml

docker login reg.cfy.org

不知道为什么,一直不成功

从网页上输入网址可以登入进去

但输入域名就不行

docker拉取失败

6、安装K8S部署工具

#部署软件仓库,添加K8S源
vim /etc/yum.repos.d/k8s.repo
[k8s]
name=k8s
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm
gpgcheck=0

#安装软件
dnf install kubelet-1.30.0 kubeadm-1.30.0 kubectl-1.30.0 -y

7、设置kubectl命令补齐功能

dnf install bash-completion -y
echo "source <(kubectl completion bash)" >> ~/.bashrc
source ~/.bashrc

8、在所节点安装cri-docker

k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker 软件下载:https://github.com/Mirantis/cri-dockerd

 dnf install libcgroup-0.41-19.el8.x86_64.rpm cri-dockerd-0.3.14-3.el8.x86_64.rpm -y

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

ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd://  --network-plugin=cni --pod-infra-container-image=reg.cfy.org/k8s/pause:3.9

systemctl daemon-reload
systemctl start cri-docker
ll /var/run/cri-dockerd.sock

9、在master节点拉取K8S所需镜像

#拉取k8s集群所需要的镜像

kubeadm config images pull \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.30.0 \
--cri-socket=unix:///var/run/cri-dockerd.sock

#上传镜像到harbor仓库

docker images | awk '/google/{ print $1":"$2}' \
| awk -F "/" '{system("docker tag "$0" reg.cfy.org/k8s/"$3)}'

docker images | awk '/k8s/{system("docker push "$1":"$2)}'

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

python中计算分布的分位数及累积概率

本文讨论python中怎样计算分布的分位数及累积概率 ⭐️ 根据累计概率获取分位数 在 Python 中&#xff0c;你可以使用 scipy.stats 中的 ppf&#xff08;percent point function&#xff09;来根据累积概率获取分位数。ppf 是逆累积分布函数&#xff0c;也就是根据给定的累积…

前端笔记(一):父传子,子传父,获取DOM对象或组件,别名路径联想设置,elemntPlus

一、父传子 二、子传父 三、获取DOM对象或组件 把子组件的属性暴露给父组件 四、别名路径联想设置 1.jsconfig里只做联想配置&#xff1b; 2.vue.config.js里做实际转换&#xff0c;把转为src&#xff1b; 五、elemntPlus 1.按需导入 ①npm install element-plus --sav…

适合高新技术企业的内外网文件交换系统

在科技前沿的战场上&#xff0c;数据的快速和安全流通是企业维持竞争优势的关键。随着企业业务的全球化和科技的持续进步&#xff0c;内外网文件交换的需求不断增长&#xff0c;这同时也带来了一系列挑战。本文将讨论科技前沿领域在内外网文件交换中所面临的挑战&#xff0c;并…

【技术支持】家里智能电视不能联网重置小米路由器之路

问题现象 最近家里的路由器出现一点问题&#xff0c;现象是手机和电脑连接wifi后&#xff0c;都可以正常打开网页看视频。 但是小爱同学和小米盒子&#xff0c;都出现网络问题&#xff0c;不能正常播放音乐或者视频。 这是小米盒子的网络问题截图 这是和小米盒子连接的智能电…

AI时代大厂AI项目管理学习路线

AI时代避免被裁员&#xff0c;大厂AI项目管理学习路线主要包括&#xff1a; 1、AI项目管理基础技能。 2、项目管理AI技术知识。 3、数据分析与决策。 4、AI项目管理工具。 5、AI项目管理知识扩展。 01 AI项目管理基础技能。 AI项目管理基础技能构成了项目管理的骨架&…

Spring WebFlux 核心原理(2-1)

1、Spring 响应式编程 1.1、早期响应式解决方案 响应式编程是构建响应式系统的主要候选方案。Spring 4.x 引入了 ListenableFuture 类&#xff0c;它扩展了 Java Future&#xff0c;并且可以基于 HTTP 请求实现异步执行操作。但是只有少数 Spring 4.x 组件支持新的 Java 8 Com…

VScode连接服务器配置c、c++编程环境

在 VS Code 中配置远程服务器的 C/C 编程环境&#xff0c;可以使用 VS Code 的 Remote-SSH 扩展来通过 SSH 连接到远程服务器&#xff0c;并在服务器上编写、编译和调试 C/C 代码。 以下是详细的配置步骤&#xff1a; 1. 在本地机器上安装 VS Code 和扩展 安装 VS Code&#…

360度评估与绩效考核的深度融合,助力员工提升自我

客户背景 该零售业企业是一家集水果采购、种植支持、采后保鲜、物流仓储、标准分级、营销拓展、品牌运营、门店零售、信息科技、金融资本、科研教育于一体的大型连锁企业。 在当今快速变化的商业环境中&#xff0c;企业对于人才管理的要求日益提高&#xff0c;传统的绩效考核方…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

基于springboot+vue的在线宠物用品交易网站

一、系统架构 前端&#xff1a;vue | element-ui | html 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.8 | mysql | maven | nodejs 二、代码及数据库 三、功能介绍 01. web端-首页1 02. web端-首页2 03. web端-注册 04. web端-登录 05. w…

服装生产管理:SpringBoot框架的高效策略

5 系统的实现 5.1 登录界面的实现 用户要想进入本系统必须进行登录操作&#xff0c;进入对应角色登录界面&#xff0c;在登录界面输入系统账号、登录密码&#xff0c;选择登录类型&#xff0c;点击登录按钮进行登录系统&#xff0c;管理员登录界面展示如图5-1所示&#xff0c…

2024 kali虚拟机安装教程,分两大步骤,图文讲解(1)

第二步链接&#xff1a; 2024 kali虚拟机安装教程&#xff0c;分两大步骤&#xff0c;图文讲解&#xff08;2&#xff09;-CSDN博客 准备工作 1.kali的iso镜像文件 2.VMware Workstation Pro 虚拟机软件 正式开始 1.创建新的虚拟机&#xff0c;勾选自定义&#xff08;高级…

iOS用户必看:Xinstall助力浏览器秒开App

在移动互联网时代&#xff0c;App已成为我们日常生活中不可或缺的一部分。然而&#xff0c;对于iOS用户来说&#xff0c;有时在浏览器中遇到需要打开特定App的场景时&#xff0c;却可能会遇到一些不便。幸运的是&#xff0c;有了Xinstall&#xff0c;这一切都变得简单而高效。 …

Linux——echo-tail-重定向符

echo命令 类似printf 输出 反引号 重定向符 > 和 >> > 覆盖 >> 追加 tail命令 查看文件尾部内容&#xff0c;追踪文件最新更改 tail -num 从尾部往上读num行&#xff0c;默认10行 tail -f 持续跟踪

C++初阶--C++入门(引用篇)

目录 一、引用的基本概念与特性 1.定义与声明 2.特性 二、引用的进阶用法 1.函数参数传递&#xff1a; 2.引用作为函数返回值&#xff08;重点&#xff09; 引用作为返回值的优点 引用作为返回值的注意事项 代码示例 注意事项的进一步说明 三、传值和传引用效率比较 …

自养号测评:亚马逊测评实操步骤与风险规避策略详解

尽管亚马逊平台明确表态不支持产品测评行为&#xff0c;卖家群体对于测评活动的需求却并未因此减退。这主要是因为&#xff0c;测评在增强产品曝光、推动销量上升及构建品牌信任度方面扮演了不可或缺的角色。在此情境下&#xff0c;即便测评伴随着一定的风险&#xff0c;卖家仍…

探索风能行业前景,博冠将携8K超高清风电场智能运维系统亮相CWP2024北京国际风能大会

当金秋的微风轻抚蔚蓝的天际&#xff0c;全球风电盛会——2024北京国际风能大会暨展览会&#xff08;CWP 2024&#xff09;&#xff0c;将于10月16日至18日在北京中国国际展览中心&#xff08;顺义馆&#xff09;盛大启幕。BOSMA博冠将携旗下全球首个8K超高清风电场智能巡检系统…

中国市场的NFT生存法则:消费属性与圈子文化

自2021年NFT数字藏品概念爆发以来&#xff0c;它迅速吸引了全球范围内的玩家、投资者以及艺术家和品牌的参与。然而&#xff0c;随着市场逐渐冷却&#xff0c;尤其是在中国市场&#xff0c;NFT的定位变得越来越微妙和复杂。在全球其他地区&#xff0c;NFT逐渐走向金融化&#x…

Unity3D相关知识点总结

Unity3D使用的是笛卡尔三维坐标系&#xff0c;并且是以左手坐标系进行展示的。 1.全局坐标系&#xff08;global&#xff09; 全局坐标系描述的是游戏对象在整个世界&#xff08;场景&#xff09;中的相对于坐标原点&#xff08;0&#xff0c;0&#xff0c;0&#xff09;的位置…

在线绘图工具drawio,visio的平替

Draw.io&#xff1a;灵活高效的在线绘图工具推荐 在工作和项目管理中&#xff0c;流程图、架构图和思维导图等可视化图表是非常重要的沟通工具。Draw.io&#xff08;现更名为diagrams.net&#xff09;是一个强大且免费的在线绘图工具&#xff0c;适用于创建各种类型的图表。它功…