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