Kubernetes(k8s)的概念以及使用

k8s的概念:

K8s是指Kubernetes,是一个开源的容器编排和管理平台。它最初由Google开发,并于2014年将其开源。Kubernetes旨在简化容器化应用程序的部署、扩展和管理。

Kubernetes提供了一种可靠且可扩展的平台,用于管理容器化应用程序的生命周期。它具有以下主要功能:

  • 自动化应用程序部署和扩展:Kubernetes可以自动化地部署和扩展容器化应用程序,根据负载和资源需求进行自动水平扩展。

  • 服务发现和负载均衡:Kubernetes提供内置的服务发现和负载均衡机制,使应用程序能够轻松地进行服务间通信,并在多个实例之间分配流量。

  • 自我修复能力:Kubernetes可以监控应用程序的状态,并在出现故障时自动进行恢复,例如重新启动失败的容器或替换故障节点。

  • 水平伸缩:Kubernetes可以根据负载情况自动扩展应用程序的副本数量,以满足流量需求,并在负载减少时进行缩减。

  • 配置管理:Kubernetes提供了一种机制来管理应用程序的配置信息,包括环境变量、密钥和配置文件等。

  • 存储编排:Kubernetes支持多种存储选项,包括本地存储、网络存储和云存储,以满足应用程序对持久化存储的需求。

  • 批处理和定时任务:Kubernetes支持批处理作业和定时任务的调度和管理。

**个人理解:**作为开发人员或者是测试人员。不太需要掌握k8s的部署过程 当然,掌握部署过程能更好的理解其架构。他存在的作用就是部署和编排容器。在个人项目中 最多用到Docker去打包镜像以及发布,或者是通过compose文件发布一系列镜像,而在企业中,是大概率会用到k8s进行容器编排和管理的。

下面是k8s的一些基本组件或概念。

Pod:Kubernetes 的最小部署单元,一个 Pod 代表集群中运行的一个进程。每个 Pod 可以包含一个或多个容器。

Node:一个 Node 是一台 Kubernetes 的工作机器,这可以是物理机或者虚拟机。

Cluster:一组节点形成一个 Cluster,Cluster 是 Kubernetes 提供高可用服务的基础。它分为 Master 节点和 Worker 节点。

Service:一个抽象方式,来暴露应用服务接口。

Volume:提供了存储服务,可以被 Kubernetes 中的 Pod 使用。

Namespace:用于将系统内部的资源进行隔离。

Deployment:描述了如何更新和复制应用。

Ingress:Ingress 是对集群外访问的 HTTP(S) 路由的管理对象。

ConfigMap 和 Secret: ConfigMap 和 Secret 允许你将配置文件和敏感数据(如密码或密钥)分别插入到容器中。
下面是k8s的架构图

未完。。。。

相关推荐
孔令飞14 小时前
知己知彼,百战不殆:AI SKILL 实现原理剖析
云原生·go·ai编程
姜鱼问生16 小时前
网页一片白?Docker 跑 Nginx 读不到文件,403 Forbidden 排查实录
nginx·docker·容器
\光辉岁月/17 小时前
2.spring5-IOC
java·容器·ioc·注解
分布式存储与RustFS17 小时前
把 LSM 引擎直接架在对象存储上:slatedb 能不能跑在 RustFS 上?
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
java_logo17 小时前
Docker 部署 Excalidraw:轻松搭建手绘风格白板
运维·docker·容器·excalidraw·白板·轩辕镜像
时间售卖铺20 小时前
MySQL 日志管理
运维·数据库·mysql·云原生
老郭a20 小时前
流量一涨 Pod 扩不出来?K8s HPA 弹性伸缩配置避坑指南
云原生
程序员清风21 小时前
LibreChat 实战:用 Docker 搭建可扩展的多模型对话平台
运维·docker·容器
Web3&Basketball21 小时前
从0到1落地AI Agent沙箱隔离Docker实战:踩坑全记录
运维·docker·容器·agent·容器安全·沙箱隔离
xianyuCcCcCCCcc1 天前
Kubernetes Service 与网络代理
网络·云原生·kubernetes