Kubernetes
一、Kubernetes 简介
- Kubernetes 由 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统, 目标是管理跨多个主机的容器, 它不仅支持常见的云平台, 而且支持内部数据中心;
- 核心概念是 Container Pod–> 一个 Pod(容器集合)由一组工作于同一物理工作节点的容器构成, 组容器拥有相同的网络命名空间, IP 以及存储配额, 也可以根据实际情况对每一个 Pod 进行端口映射;
- 控制组件:kube-apiserver、kube-scheduler、kube-controller-manager、etcd
- 计算组件:kubelet、kube-proxy、Container runtime(Pod、Containers)
[微笑]官方教程:https://kubernetes.io/zh/docs/tutorials/
[呲牙]cluster-role-binding:https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/authorization-resources/cluster-role-binding-v1/
[可爱]k8s.gcr.io、gcr.io 仓库的镜像下载:https://www.cnblogs.com/straycats/p/14405513.html?spm=a2c6h.12873639.article-detail.8.49857770pQuJNl
kubernetes
[太阳]云原生资料库:https://lib.jimmysong.io/
[月亮]Kubernetes 是什么:http://docs.kubernetes.org.cn/227.html
二、Kubernetes 组件介绍
- Master 节点
- kube-apiserver:API 集群统一入口,各组件协调者,以 HTTP API 提供接口服务,所有对象资源的增删查改和监听操作都交给 APIServer 处理后再提交给 Etcd 存储;
- kube-scheduler:(调度器)负责对资源进行调度,分配未分发 Pod 绑定到可用的 Node 节点上,存储到 etcd 中;
- kube-controller-manager:管理控制器,一个资源对应一个控制器,CotrolerManager 负责管理监控 pod 运行状态,根据 etcd 中的信息, 调用 node 中的 kubelet 创建 Pod;
- Etcd:用来保存集群所有状态的 Key/Value 存储系统,所有 Kubernetes 组件会通过 API Server 来跟 Etcd 进行沟通从而保存或读取资源状态,如 Pod、service 等对象信息;
- Node 节点
- kubelet:是 Master 在 Node 节点上的 Agent,负责具体的容器生命周期管理,根据从数据库中获取的信息来管理容器,并上报 pod 运行状态等,下载 secret、获取容器与节点状态,kubelet 将每个 Pod 装换成一组容器;kube-proxy:在 Node 节点实现 Pod 网络代理;docker/rocker/rkt:运行容器;calico、coredns
k8sStudyPath
k8s.jpg