当前位置:网站首页 > 编程语言 > 正文

k8s新版本(k8s最新版本)



首先,K8s并不是一个传统意义上的 PaaS平台即服务的工具,它充分给使用者提供了很多很多选择的空间。

K8s 不仅仅是一个 “编排系统”,它消除了编排的需要。K8s通过声明式的 API 和一系列独立、可组合的控制器保证了应用总是在期望的状态,用户并不需要关心中间状态是如何转换的。

K8s 是谷歌开源的容器集群管理系统,即一个大规模容器编排系统,是 Google 多年大规模容器管理技术 Borg 的开源版本。

可以用来完成以下一些主要功能:

用户可以使用 Label 以自己的方式组织管理资源,还可以使用 Annotation 来自定义资源的描述信息,比如为管理工具提供状态检查等。控制器也是构建在跟开发人员和用户使用的相同的 API 之上。用户 还可以编写自己的控制器和调度器,也可以通过各种插件机制扩展系统的功能。这使得可以方便地在 K8s 之上构建各种应用系统。

2.1 Container容器

它使用 namespace 隔离不同的软件运行环境,并通过镜像自包含软件的运行环境,从而使得容器可以很方便的在任何地方运行。

容器体积小且启动快,可以在每个容器镜像中打包一个应用程序。这种一对一 的应用镜像关系拥有很多好处。使用容器,不需要与外部的基础架构环境绑定, 因为每一个应用程序都不需要外部依赖,不需要与外部的基础架构环境依赖,从而完美解决了开发到生产环境的一致性问题。

容器同样比虚拟机更加透明,这有助于监测和管理。容器进程的生命周期由基础设施管理,而不是被进程管理器隐藏在容器内部。每个应用程序用容器封装,管理容器部署就等同于管理应用程序部署。

2.2 Pod

Pod 是一组紧密关联的容器集合,它们共享 PID、IPC、Network 和 UTS namespace, 是 K8s调度的基本单位。Pod 内的多个容器共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。

在 Kubernetes 中,所有对象都使用 manifest(yaml 或 json)来定义,比如一个简单的 nginx 服务可以定义为 nginx.yaml,它包含一个镜像为 nginx 的容器:

2.3 Node

2.4 Label

Label 不提供唯一性,实际上经常是很多对象(如 Pods)都使用相同的 label 来标 志具体的应用。

Label 定义好后其他对象可以使用 Label Selector 来选择一组相同 label 的对象(比如 ReplicaSet 和 Service 用 label 来选择一组 Pod)

2.5 Annotations

Annotations 是 key/value 形式附加于对象的注解。不同于 Labels 用于标志和选择对象,Annotations 用来记录一些附加信息,用来辅助应用部署、安全策略以及调度策略等。

2.6 Service

Service 是应用服务的抽象,通过 labels 为应用提供负载均衡和服务发现。匹配 labels 的 Pod IP 和端口列表组成 endpoints,由 kube-proxy 负责将服务 IP 负载均衡到这些 endpoints 上。

每个 Service 都会自动分配一个 cluster IP(仅在集群内部可访问的虚拟地址)和 DNS 名,其他容器可以通过该地址或 DNS 来访问服务,不需要了解后端容器的运行。

3.1 K8s的工作方式

3.2 K8s的组件架构

3.2.1 控制平面组件

控制平面的组件对集群做出全局决策(如调度等),以及检测和响应集群事件(例如,当不满足部署的 replicas 字段时,启动新的 pod)。控制平面组件可以在集群中的任何节点上运行。但为了简单起见,设置脚本通常会在同一个计算机上启动所有控制平面组件,并且不会在此计算机上运行用户容器。

kube-apiserver
etcd
kube-scheduler
kube-controller-manager

从逻辑上讲,每个控制器都是一个单独的进程, 为了降低复杂性,它们都被编译到同一个可执行文件,并在一个进程中运行。这些控制器有:

节点控制器(Node Controller): 负责在节点出现故障时进行通知和响应。 任务控制器(Job controller): 监测代表一次性任务的 Job 对象,然后创建 Pods 来运行这些任务直至完成 端点控制器(Endpoints Controller): 填充端点(Endpoints)对象(即加入 Service 与 Pod) 服务帐户和令牌控制器(Service Account & Token Controllers): 为新的命名空间创建默认帐户和 API 访问令牌

cloud-controller-manager

3.2.2 Node组件

节点组件在每个节点上运行,维护运行的 Pod 并提供 Kubernetes 运行环境

kubelet
kube-proxy

K8s架构示意图

准备工作及注意事项:

4.1 基础环境准备

4.2 安装kubelet、kubeadm、kubectl

4.3 下载每个机器所需要的镜像

4.4 初始主节点

master成功之后提示:

接下来就通过上述命令,配置设置.kube/config。

4.5 安装网络组件

4.6 加入node节点

4.7 验证集群节点状态

到此这篇k8s新版本(k8s最新版本)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • lda主题模型基本原理(lda主题模型困惑度)2026-02-07 19:09:09
  • 怎样拆包装袋线头(怎样拆包装袋线头图解)2026-02-07 19:09:09
  • ip地址转换网络地址怎么计算(ip地址的转换)2026-02-07 19:09:09
  • 我的世界加速指令代码(我的世界加速代码怎么弄)2026-02-07 19:09:09
  • 划词翻译插件有没有破解版的啊苹果(划词翻译插件有没有破解版的啊苹果手机)2026-02-07 19:09:09
  • 环形队列是循环队列吗为什么(环形队列不会产生什么溢出)2026-02-07 19:09:09
  • mha是什么意思(mha是什么意思医学上)2026-02-07 19:09:09
  • ngff接口和msata接口区别(m.2 ngff接口定义)2026-02-07 19:09:09
  • 初音未来人设代码(初音未来v4c人设)2026-02-07 19:09:09
  • kubelet配置文件详解(kubelet 参数)2026-02-07 19:09:09
  • 全屏图片