认识
Kubernetes,容器编排平台,用于容器集群的自动化部署、扩容、运维的开源平台;
解决大规模容器编排的问题。在微服务场景下,容器数量会非常多,怎么管理和关联相关的容器就是巨大的问题。从而引出多种运维、持续集成、编排等需求;
针对业务问题的解决方案。它是在软件开发过程中,针对容器管理、调度、监控的平台,是软件开发的一部分;
Kubernetes 是一个开源的容器编排平台,用于自动化容器的部署、扩展和管理。它提供了一个强大的容器编排系统,可以帮助开发人员和运维团队更好地管理容器化应用程序;
Kubernetes 可以在多个主机上运行和管理容器,它可以自动化容器的部署、伸缩和故障恢复,并提供了一些高级功能,如负载均衡、服务发现和存储编排等。Kubernetes 采用了声明式的配置方式,通过使用标准化的 API 进行管理,使得应用程序的部署和管理变得简单和可靠;
Kubernetes 具有高度可扩展性和灵活性,可以运行在各种云平台、物理服务器和虚拟机上。它还提供了丰富的插件和工具生态系统,可以与其他开源项目和服务进行集成,如 Prometheus、Elasticsearch 等;
总之,Kubernetes 是一个功能强大的容器编排平台,可以帮助开发人员和运维团队更好地管理容器化应用程序,提高应用程序的可靠性和可扩展性。
官网:https://kubernetes.io/
文档:https://kubernetes.io/docs/home/
仓库:https://github.com/kubernetes/kubernetes
组成
在 Kubernetes 中,的各个组件及其作用;
下图源自官方文档:
Kubernetes Control Plane
etcd
分布式高可用键值存储,集群持久化组件。存储每个节点会用到的配置信息,包含敏感信息;
该组件只能被 API Server 访问;
Q:为什么 Kubernetes 选择 etcd 作为存储:?
A:Kubernetes Book/How Does Kubernetes Use etcd?;TechTarget/How does Kubernetes use etcd?
API Server(kube-apiserver)
使用 API 提供集群中所有操作,即集群所有操作通过 API 接口实现,所有组件均与 API Server 交互;
Scheduler(kube-scheduler)
在主节点中关键组件,负责分发工作负载。换句话说,它负责将 POD 分配到可用节点;
Static Pods
所谓静态 Pod,是指由 kubelet 直接管理的 Pod 实例;
Kubernetes Worker Node
kubelet
主要的节点代理,运行在每个节点中。它负责接收 PodSpec 定义(主要来自于 API Server 服务),然后确保节点中的 POD 运行及健康;
kube-proxy
网络代理,运行在各节点中,负责进行流量转发、轮寻等等;
CRI (Container Runtime Interface)
Container Runtime
容器运行环境,通常为 Docker 等等容器运行环境;
构建
WIP
性质
Run Anywhere
Service Topology
Storage orchestration
Automated rollouts and rollbacks
IPv4/IPv6 dual-stack
Service discovery and load balancing
Automatic bin packing
Self-healing
Secret and configuration management
Batch execution
Horizontal scaling
应用
服务运管
kubeadm // 服务简单部署;服务简单使用;运行服务并验证能够访问;
Backup, Recover, Migrate
Observability of Service // 服务观测
Performance Tuning, Trace // 性能优化:基准测试;压力测试;
Security and Permission
参考
Kubernetes Components
Kubernetes in three diagrams
Kubernetes Reference/kube-proxy
Kubernetes Reference/kubelet
Kubernetes – Cluster Architecture
Wikipedia/Kubernetes
Kubernetes 是什么,简介,相关资料
K8S 解决了哪些问题?
Kubernetes 解决了 Docker 使用中的哪些问题?
选择什么样的 K8S?这不是一个问题!
kubernetes/Production-Grade Container Orchestration