# kubernetes **Repository Path**: su-bushi/kubernetes ## Basic Information - **Project Name**: kubernetes - **Description**: k8s学习和优化方案 - **Primary Language**: YAML - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-08-03 - **Last Updated**: 2024-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: Yaml ## README # Kubernetes ### 核心概念 ``` > Pods Pods是Kubernetes中最小的可部署单元,它可以包含一个或多个容器。 它们在同一主机上共享网络和存储空间,通常用于部署相关的容器应用。 > Services Services定义了一组Pods的逻辑集合,允许它们可以互相访问,而不需要关心实际Pod的位置。 有不同类型的服务,包括ClusterIP、NodePort和LoadBalancer,用于不同的网络需求。 > ReplicaSets ReplicaSets是一种控制器,用于确保指定数量的Pods副本运行,如果Pods发生故障或扩展需求,ReplicaSets会自动进行调整。 > Deployments Deployments是用于管理应用程序的高级控制器,它建立在ReplicaSets之上。 Deployments允许你轻松升级应用程序版本、回滚到先前的版本,以及进行滚动更新等操作。 ``` ### 重要组件 ``` > Nodes Nodes是Kubernetes集群的工作节点,它们是物理或虚拟机器,用于运行Pods和容器。Nodes上运行一个叫做Kubelet的服务来与主控制平面协作。 > Master Master是Kubernetes控制平面的组成部分,负责管理集群中的所有操作。它包括多个组件,如API Server、Controller Manager、Scheduler和etcd。 > Namespace Namespace是用于隔离和组织集群中资源的虚拟集合。不同的资源可以放置在不同的Namespace中,以提供更好的多租户支持。 > ConfigMap和Secret ConfigMap用于存储配置数据,Secret用于存储敏感信息,如密码和API令牌。它们可以与Pods中的容器共享配置信息。 > Volumes Volumes允许容器在Pods之间共享和访问持久存储,如磁盘或网络存储。 > Ingress Ingress是一种用于管理HTTP和HTTPS流量路由的资源,允许外部流量访问集群内的服务。 > StatefulSets StatefulSets是一种控制器,用于管理有状态应用程序的部署,确保它们的唯一标识和网络标识。 > DaemonSets DaemonSets用于确保在每个Node上运行一个Pod的副本,通常用于特殊任务,如日志采集或监控。 ```