一、对象介绍
在kubernetes中,所有的内容都抽象为对象,用户需要通过操作对象来管理kubernetes。有些时候对象也可以称为资源。
二、对象基本介绍
1 查看所有对象
kubectl api-resources
2 常用对象
对象名称 | 简写/别名 | 简介 |
---|---|---|
nodes | no,node | 集群的计算节点服务器 |
namespace | ns | 对整个集群的对象进行逻辑上的隔离,可以使用名称空间进行多租户之间的资源对象隔离。每个用户之后看着自己有权限的名称空间中的资源对象。 |
pods | po,pod | Pod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 |
replicasets | rs | Pod 的副本控制器,始终保障有多少个Pod 的同时存在。 |
deployment | deploy | Pod的版本控制器,通过直接控制 rs 开对 Pod 进行版本管理,升级,回滚等。 |
statefulset | sts | 管理用状态的Pod。比如有主从关系的 MySQL 集群。 |
horizontalpodautoscaler | hpa | 根据对 Pod 设置的资源效率量,来控制 Pod 在集群中数量的增加或者减少。 |
daemonset | ds | 保障集群中的每个节点有且只有一个 Pod 在运行,称为以守护进程方式运行的 Pod。 |
jobs | job | 用于管理集群的一次性的计划任务 |
cronjobs | cj | 用于管理集群的重复执行的计划任务 |
services | svc | 提交集群内部或者集群外部对 Pod的统一访问入口点,同时起到了四层的负载均衡的作用 |
ingres | ing | 提供 Pod 的七层负载均衡 |
configmap | cm | 用于给 Pod 提供配置文件内容 |
secrets | 用于给 Pod 提供需要加密的数据,比如用户、密码 | |
StorageClass | cs | 是管理员用来描述不同的可用存储类型的一种方法 |
PersistentVolumeClaim | pvc | 持久卷申领,用于向 StorageClass 申请指定大小的存储介质 |
persistentvolume | pv | 持久卷,是集群中的一块存储,可以由管理员事先供应 |
volumeattachment |
三、对象的管理工具 kubectl
操作 kubernetes 中的对象使用 kubectl 命令, kubectl 有很多的子命令,通过这些子命令可以对 kubernetes 中的对象进行增删改查等操作。
命令自动补全
yum install bash-completion
echo 'source <(kubectl completion bash)' >>~/.bashrc
1 kubectl 命令语法
kubectl [command] [TYPE] [NAME] [flags]
- command 子命令,表明了对一个对象的操作
- TYPE 资源(对象)类型,不区分大小写, 可以指定单数、复数或缩写形式。
- NAME 具体的一个对象的名称。名称区分大小写。如果省略名称,则显示集群中所有对象的详细信息。
- flags 指定可选的参数。比如 -w 持续观察, -o 指定输出格式
2 基本命令
子命令 | 命令作用 |
---|---|
create | 创建一个资源 |
get | 获取一个资源 |
edit | 编辑一个资源 |
patch | 更新一个资源 |
delete | 删除一个资源 |
explain | 展示资源文档 |
3 运行和调试的命令
| 子命令 | 命令作用 |
| :-------- | :-------------------------- | -
| run | 在集群中,通过一个指定的镜像运行一个容器 |
| describe | 显示出一个已经被创建的对象内容和创建对象过程中的事件 |
| expose | 创建一个 service ,并向集群的其他资源暴露出某个 Pod 的端口 |
| logs | 输出容器在 pod 中的日志 |
| exec | 执行容器中的一个命令 |
| rollout | 管理资源的发布,通常用于版本的回滚 |
| scale |扩(缩)容Pod的数量 |
| autoscale | 自动调整Pod的数量 |
|apply|通过 yaml 文件管理一个(多个)对象|