Kubernetes入门笔记

节点

Kubernetes是主从结构,分为主节点和工作节点。

Master指集群控制节点,主节点。负责整个集群的管理和控制。

在Master运行着以下关键进程:

APIServer(kube-apiserver):提供HttpRest接口的关键服务进程,是Kubernetes所有资源增删改查的唯一入口,也是集群控制的入口进程。ControllerManager(kube-controller-manager):Kubernetes所有资源对象的自动化控制中心,就像是资源对象的“大总管”。Scheduler(kube-scheduler):负责资源调度(Pod调度)的进程,相当于“调度室”。

Master需要部署etcd服务,因为Kubernetes所有资源对象数据保存在etcd中。高可用部署建议3台服务器部署Master。

除了Master,其他集群中的机器就称为Node,是集群中的工作负载节点。每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机时,其上面的工作负载就会被Master自动转移到其他Node上。在Node运行着以下关键进程:

kubelet:负责Pod对应的容器的创建、启动、停止等任务,同时与Master密切协作,实现集群的基本功能。kube-proxy:实现KubernetesService的通信和负载均衡机制的重要组件。DockerEngine:Docker引擎,负责本机的容器创建和管理工作。

Node可以在运行期间动态增加到Kubernetes集群中,默认情况下kubelet会向Master注册自己,定时向Master汇报自身信息,以及当前有哪些Pod在运行等。当超过一定时间,不上报信息时,Master就会将此Node标记为不可用,接着触发工作负载转移的自动流程。

查看Node:

kubectlgetnodes

查看Node的详细信息:

kubectldescribenodeNode-NAME命名空间

Kubernetes可以创建多个虚拟集群,称为命名空间(namespace),用于实现多租户的资源隔离,通过将集群内部的资源对象分配到不同的namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同分组在共享集群资源的同时可以被分别管理。如果没有明确定义的命名空间,集群将在始终存在的默认命名空间(default)中创建。

查看命名空间

kubectlgetnamespace

创建命名空间

kubectlcreatenamespacetest-zjh

删除命名空间

kubectldeletenamespacetest-zjh资源对象

我们可以采用YAML或JSON格式定义或创建一个Kubernetes资源对象

kubectlapply-f./my-manifest.yaml#创建资源kubectlapply-f./my1.yaml-f./my2.yaml#使用多个文件创建kubectlapply-f./dir#基于目录下的所有清单文件创建资源kubectlapply-f

转载请注明:http://www.sonphie.com/jbby/14183.html

网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

当前时间: