k8s有五种工作负载资源控制器:
1. Pod:自主式Pod,不受控制器控制,失败了,不会被自动修复。
2. ReplicaSet:支持扩缩容、自动恢复达到期望的副本数、标签选择器。帮用户管理无状态的服务。
3. Deployment:工作在ReplicaSet之上,还支持滚动更新、声明式定义(动态修改配置),pod数量可以大于node数量,无状态,关注群体稳定。
4. StatefulSet:有状态pod,关注个体稳定。
5. DaemonSet:用于确保集群中的每一个节点(或者只在部分节点)只运行一个pod,如系统级的后台用户,logstash等。
6. Job:执行完任务就退出,不需要一直运行;如果任务没有完成就crash还是会恢复,直到任务完成。
服务发现及服务均衡资源: Service, Ingress
配置与存储: Volume, CSI, configMap(配置), Secret(存储敏感信息)
大部分资源配置清单都由五个关键字组成
apiVersion : 表示属于哪一个群组及其版本,如果没有指定群组(apiVersion: v1)怎表面是core群组(基本组件群组)
kubectl api-versions这个命令可以显示出当前支持的apiVersioin示例
kind: 资源类别,用来标记你打算创建一个怎么样的资源,Pod, ReplicaSet, Deployment..Service, Ingress...