K8S 学习笔记,默认 k=kubectl。

Pod 的 YAML 配置文件,apiVersion 是 v1。ReplicaSet 的 apiVersion 是 apps/v1。

Pod 常用命令

k get pod -o wide # 显示 Pod 详细信息
k describe pod <pod-name> # 显示指定 Pod 的详细信息
k run <pod-name> --image=<pod-image> # 创建 Pod 用户名
k run <pod-name> --image=<pod-image> --dry-run -o yaml > <pod-filename> # 输出创建资源的 YAML 配置文件
k delete pod <pod-name> # 删除 Pod 文件
k apply -f <pod-definition-file> # 用 YAML 文件创建/修改 Pod
k create -f <pod-definition-file> # 同 applys,用 YAML 文件创建/修改
k edit pod <pod-name> # 修改 Pod 配置文件

ReplicaSet 常用命令

k get rs # 显示 ReplicaSet 详细信息
k describe rs <reslicaset-name> # 显示指定 ReplicaSet 的详细信息
k delete rs <reslicaset-name> # 删除 ReplicaSet 文件
k edit rs <reslicaset-name>
k apply -f <reslicaset-name> # 用 YAML 文件创建/修改 Pod
k explain rs # ReplicaSet 详细信息和文档

使用 edit 修改 Container 不会马上生效,需要删除在运行中的 Container。而修改 replica 数量会马上生效。

Deployment 常用命令

k create deploy --image=nginx nginx # 创建 Deployment
k create deploy --image=nginx nginx --replicas=4 --dry-run=client -o yaml > nginx-deployment.yaml # 1.19+ 版本支持自定义 Replicas 数量

其他

–dry-run

  • –dry-run 选项不执行模拟操作,仅用于验证客户端请求的有效性。
  • –dry-run=client 选项在客户端执行模拟操作,并返回模拟操作的结果,不会将操作发送到服务器端。

缩写

  • po:pod(用于操作 Pod 资源对象)
  • deploy:deployment(用于操作 Deployment 资源对象)
  • svc:service(用于操作 Service 资源对象)
  • ns:namespace(用于操作 Namespace 资源对象)
  • no:node(用于操作 Node 资源对象)
  • rs:replicaset(用于操作 ReplicaSet 资源对象)
  • cm:configmap(用于操作 ConfigMap 资源对象)
  • pvc:persistentvolumeclaim(用于操作 PersistentVolumeClaim 资源对象)
  • pv:persistentvolume(用于操作 PersistentVolume 资源对象)