制作网站能挣钱,jsp网站 值班,ps做网站学到什么程度,男的和女的做那种短视频网站文章目录 k8s组件介绍部署文件示例部署 Pod 流程创建 Service 通过创建 Deployment 资源#xff0c;来看看 k8s 部署 Pod 流程 k8s组件介绍
首先看看 k8s 各组件功能。 control plane 控制平面主要包含以下组件#xff1a; kube-api-server: 顾名思义#xff0c;负责处理所… 文章目录 k8s组件介绍部署文件示例部署 Pod 流程创建 Service 通过创建 Deployment 资源来看看 k8s 部署 Pod 流程 k8s组件介绍
首先看看 k8s 各组件功能。 control plane 控制平面主要包含以下组件 kube-api-server: 顾名思义负责处理所有 api包括客户端以及集群内部组件的请求。 etcd: 分布式持久化存储、事件订阅通知。只有 kube-api-server 直接操作 etcd其它所有组件都是与 kube-api-server 进行相互。 scheduler: 处理 pod 的调度将 pod 绑定到具体的 node 节点。 controller manager: 控制器处理各种资源对象。 cloud controller manager: 对接云服务商的控制器。 node 节点主要部署用户的应用程序主要包含以下组件 kubelet: 管理节点上的 pod 以及状态检查和上报。 kube-proxy: 进行流量的路由转发目前是通过操作节点的 iptables 或者 ipvs 实现。 container runtime: 容器运行时例如 containerd。
部署文件示例
Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-demolabels:app: nginx
spec:replicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:latestports:- containerPort: 80Service:
apiVersion: v1
kind: Service
metadata:name: nginx-service
spec:selector:app: nginxports:- protocol: TCPport: 80targetPort: 80type: ClusterIP部署 Pod 流程 用户提交yaml文件给 kube-api-serverapi-server 将 Deployment 内容持久化到 etcd中。controller-manager 监听到 Deployment 创建事件后检查相应的 RepliccasSet 是否创建。如果没有创建则创建 ReplicasSetcontroller-manager 监听到 ReplicasSet 创建事件后检查该 ReplicasSet 关联的 Pod 是否符合 ReplicasSet 期望的状态。如果不符合则创建Pod。Scheduler 监听到 Pod 创建事件后根据 Pod 配置中指定的调度算法过滤打分计算出适合 Pod 运行的最佳节点然后将绑定的节点名称更新到该 Pod 信息中。kubelet 监听到有 Pod 调度到自己所在的节点然后调用 CRI 接口创建容器。
创建 Service 用户提交yaml文件给 kube-api-serverapi-server 将 Deployment 内容持久化到 etcd中。controller-manager 监听到 Service 创建事件后根据 Service 和 Pod 的关联关系创建 Endpoint并将 Endpoint 信息持久化到 etcd 中。kube-proxy 监听 ServiceEndpoint 事件在节点上创建相应的网络规则。