Kubernetes 基础理论知识论述
目录一、Kubernetes(1)Kubernetes组件(2)Kubernetes主要用途(3)Kubernetes优点(4)Kubernetes系统框架和计算模型(5)Kubernetes 认证方式一、Kuberneteskubernetes是google2014年开源的一个容器集群管理系统官方网站:https://kubernetes.io/中文社区:https://www.kubernet
·
目录
一、Kubernetes
kubernetes是google2014年开源的一个容器集群管理系统
中文社区:https://www.kubernetes.org.cn/k8s
> 用于容器化应用程序的部署,扩展和管理
> 提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等
> 目标是让部署容器化应用简单高效
(1)Kubernetes组件
- etcd 保存了整个集群的状态;
- apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
- controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
- scheduler 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
- kubelet 负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
- Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);
- kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡;
(2)Kubernetes主要用途
- 自动化部署、扩展和管理容器应用
- 资源调度
- 部署管理
- 服务发现
- 扩容缩容
- 监控
(3)Kubernetes优点
微服务架构
>单体服务拆分成很多小的互相连接的微服务
>实例副本数量根据负载进行调整
>每个微服务的开发者可以自由选择开发技术
>使得系统具备很高的稳定性和快速迭代进化能力
超强的横向扩容能力
>横向扩容能力是互联网业务系统的关键指标
>支持在线完成集群扩容
(4)Kubernetes系统框架和计算模型
> 管理员操作顺序:先进行管理员身份验证,然后通过API Server控制其他组件进行操作,并且将数据写入ETCD中
> 操作pod需要kubelet接收到API Server的指令进行代理执行
> 外网操作顺序:用户使用外网通过防火墙,到达Kube-proxy进行网络代理映射到服务中
(5)Kubernetes 认证方式
在 Kubernetes 中包含多个以独立进程形式运行的组件
这些组件之间通过 HTTP/GRPC 相互通信,以协同完成集群中应用的部署和管理工作。
组件之间的相互调用都是通过网络进行的。
在进行网络通信时,通信双方需要验证对方的身份,以避免恶意第三方伪造身份窃取信息或者对系统进行攻击。
为了相互验证对方的身份,通信双方中的任何一方都需要做下面两件事情
- 向对方提供标明自己身份的一个证书
- 验证对方提供的身份证书是否合法,是否伪造的?
证书的作用如下:
etcd 集群中各个节点之间相互通信使用的证书。
由于一个 etctd 节点既为其他节点提供服务,又需要作为客户端访问其他节点,因此该证书同时用作服务器证书和客户端证书。
etcd 集群向外提供服务使用的证书。该证书是服务器证书。
kube-apiserver 作为客户端访问 etcd 使用的证书。该证书是客户端证书。
kube-apiserver 对外提供服务使用的证书。该证书是服务器证书。
kube-controller-manager 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。
kube-scheduler 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。
kube-proxy 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。
kubelet 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。
管理员用户通过 kubectl 访问 kube-apiserver 使用的证书,该证书是客户端证书。
kubelet 对外提供服务使用的证书。该证书是服务器证书。
kube-apiserver 作为客户端访问 kubelet 采用的证书。该证书是客户端证书。
kube-controller-manager 用于生成和验证 service-account token 的证书。
更多推荐
已为社区贡献4条内容
所有评论(0)