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的架构图
未完。。。。