一、K8s基本概念与关系
1、Master :集群控制节点(需部署etcd服务)
Kubernetes API Server(kube-apiserver)所有资源的增、删、改、查等操作的唯一入口
Kubernetes Controller Manager 资源管家
Kubernetes Scheduler(kube-scheduler)Pod调度
2、Node:Master 之外的节点
kubelet:Pod对应的容器的创建、启停
kube-proxy:实现Kubernetes Service的通信与负载均衡机制
Docker Engine(docker):Docker引擎,负责本机的容器创建和管理工作
1、获取集群 nodes信息
kubectl get nodes
kubectl describe node k8s-node-1
3、Pod(核心概念)
Kubernetes为每个Pod都分配了唯一的IP地址
集群内任意两个Pod之间的TCP/IP直接通信
Endpoint :PodIp+containerPort(Pod里的一个服务进程的对外通信地址)
Pod Volume
CPU配额被定义为100~300m,即占用0.1~0.3个CPU
Memory配额也是一个绝对值,它的单位是内存字节数
Requests:该资源的最小申请量,系统必须满足要求。
Limits:该资源最大允许使用的量,不能被突破
4、Label(核心概念)
Label是一个逻辑概念,含义为标签,Label和资源对象如Pod、Node等之间是多对多的关系
Label Selector:标签选择器,可类比为Sql选择器
labels关键字用于赋予标签
selector 关键字用于筛选标签
5、Replication Controller 副本控制器
包含期望的Pod数量配置、Pod筛选器、pod创建模板
通过RC机制,Kubernetes实现了“滚动升级”(改变RC里Pod模板中的镜像版本)
从RC到Replica Set(前者到后者为升级操作,后者相比前者而言,label选择器支持集合筛选)
副本数量扩展,伸缩
kubectl scale rc redis-slave --replicas=3
删除RC并不会影响通过该RC已创建好的Pod,与此同时,kubectl提供了stop和delete命令来一次性删除RC和RC控制的全部Pod
6、Deployment 副本控制器
二、k8s命令详解