k8s集群部署完成后的运行流程与基础命令

Master node(主节点)
Linux:一切皆是文件
K8s:一切皆是资源
k8s集群部署完成后的运行流程与基础命令
k8s集群部署完成后的运行流程与基础命令
Kubectl:k8s是命令行端,用来发送用户的操做指令。
Authorization(认证授权机制)
k8s集群部署完成后的运行流程与基础命令
API(编程接口)
API server:(背)是k8s集群的(前端接口)。各种客户端工具以及k8s的其他组件可以通过它管理k8s集群的各种资源。他提供了HTTP/HTTPS RESTful API即K8S API.

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了陵城免费建站欢迎大家使用!

Scheduler:(调度的意思)负责决定将Pod放在那个node上运行,在调度是,会充分考虑集群的拓扑结构,,当前各个节点的负载情况,以及应对高可用,性能,数据亲和性和需求。

Controller Manager:负责管理集群的各种资源,保证资源处于预期的状态,它有多种Controller(控制器)组成,包括Replication Controller。Endpoints Controller。 Namespace Controller。 Serviceaccounts Controller等等。

第三方组件:他有可替换方案。Consul,zookeeper。
Etcd:负责保存k8s集群的配置信息和各种资源的状态信息,当数据发生变化时,etcd会快速的通知k8s相关组件。

**Pod:k8s集群的最小组成单位,一个Pod内,可以运行一个或多个容器。大多数情况下,一个Pod内只有一个Container容器。

Flannel:是k8s集群网络方案,可以保证Pod的跨主机通信。
第三方解决方案,也有替换方案。

可以查看IP地址,以及运行在那个节点之上。
[root@master ~]# kubectl get pod --all-namespaces -o wide

Node 节点:
Kubelet:他是node的agent(代理),当scheduler确定某个Node上运行Pod之后,会将Pod的具体配置信息发送给该节点的kubelet,kubelet会根据这些信息创建和运行容器,并向Master报告运行状态。

kube-proxy:负责将访问service的TCP/UDP数据流转发到后端的容器,如果有多个副本,kube-proxy会实现负载均衡

Cadvisor:控制

//运行一个例子:
创建一个deployment资源对象,pod控制器
kubectl run test-web --image=httpd --replicas=2
查看:
[root@master ~]# kubectl get pod -o wide
[root@master ~]# kubectl get deployments.

分析各个组件的作用以及架构工作流程。
1》kubectl发送部署请求到API server
2》APIserver通知Controller Manager创建一个Deployment资源
3》Scheduler执行调度任务,将两个副本Pod分发到node01和node02上
4》node01和node2上的kubelet在各自节点上创建并运行Pod。
补充:
1.应用的配置和当前的状态信息保存在etcd中,执行kubectl get pod 是API server会从etcd中读取这些数据。
2.Flannel会为每个Pod分配一个IP,但此时没有创建Service资源,目前kube-proxy还没有参与进来。

kubectl run test-web --image=httpd --replicas=2

kubectl get nodes
19 kubectl get deployments.
20 kubectl get pod
21 kubectl get pod -o wide
22 systemctl restart kubelet.service
23 kubectl get pod -o wide
24 kubectl delete pod test-web-5b56bdff65-fwp4l
26 kubectl get pod -o wide

2.Flannel回味每个pod分配一个ip,但此时没有闯进啊service资源,目前kube-proxy还没有参与进来


当前名称:k8s集群部署完成后的运行流程与基础命令
文章URL:http://pwwzsj.com/article/jggjhp.html