Skip to content

一、基本操作

bash
1. kubectl version - 显示kubectl的版本信息

2. kubectl cluster-info - 显示集群的基本信息

3. kubectl get nodes - 显示所有的节点信息

4. kubectl get pods - 显示所有的pods信息

5. kubectl create deployment {name} --image={image} - 创建pods

6. kubectl scale deployment {name} --replicas={num} - 修改pods的数量

7. kubectl describe pod {name} - 显示指定的pod的详细信息

8. kubectl logs {name} - 显示指定pod的日志信息

9. kubectl exec -it {name} -- /bin/bash - 进入指定pod的bash终端

10. kubectl delete deployment {name} - 删除pods

11. kubectl edit svc {name} - 编辑svc
1. kubectl version - 显示kubectl的版本信息

2. kubectl cluster-info - 显示集群的基本信息

3. kubectl get nodes - 显示所有的节点信息

4. kubectl get pods - 显示所有的pods信息

5. kubectl create deployment {name} --image={image} - 创建pods

6. kubectl scale deployment {name} --replicas={num} - 修改pods的数量

7. kubectl describe pod {name} - 显示指定的pod的详细信息

8. kubectl logs {name} - 显示指定pod的日志信息

9. kubectl exec -it {name} -- /bin/bash - 进入指定pod的bash终端

10. kubectl delete deployment {name} - 删除pods

11. kubectl edit svc {name} - 编辑svc

二、调试和故障排查

bash
1. kubectl describe node {name} - 显示指定节点的详细信息

2. kubectl describe deployment {name} - 显示指定deployment的详细信息

3. kubectl describe service {name} - 显示指定service的详细信息

4. kubectl get events - 显示所有事件信息

5. kubectl get events --sort-by=.metadata.creationTimestamp - 显示所有事件信息,并按照创建时间排序

6. kubectl get pods --all-namespaces - 显示所有namespace下的pods信息

7. kubectl get deployments --all-namespaces - 显示所有namespace下的deployment信息

8. kubectl get services --all-namespaces - 显示所有namespace下的service信息

9. kubectl get nodes -o yaml | grep -A5 -B2 SchedulingDisabled - 显示所有已禁用调度的节点信息

10. kubectl run -i --tty busybox --image=busybox --restart=Never -- sh - 运行一个busybox容器并进行调试
1. kubectl describe node {name} - 显示指定节点的详细信息

2. kubectl describe deployment {name} - 显示指定deployment的详细信息

3. kubectl describe service {name} - 显示指定service的详细信息

4. kubectl get events - 显示所有事件信息

5. kubectl get events --sort-by=.metadata.creationTimestamp - 显示所有事件信息,并按照创建时间排序

6. kubectl get pods --all-namespaces - 显示所有namespace下的pods信息

7. kubectl get deployments --all-namespaces - 显示所有namespace下的deployment信息

8. kubectl get services --all-namespaces - 显示所有namespace下的service信息

9. kubectl get nodes -o yaml | grep -A5 -B2 SchedulingDisabled - 显示所有已禁用调度的节点信息

10. kubectl run -i --tty busybox --image=busybox --restart=Never -- sh - 运行一个busybox容器并进行调试

三、部署和管理

bash
1. kubectl create deployment {name} --image={image} --replicas={num} --port={port} - 创建deployment

2. kubectl expose deployment {name} --port={port} --target-port={targetport} --type={type} - 创建service

3. kubectl set image deployment/{name} {container}={image}:{tag} - 更新deployment中某个容器的镜像

4. kubectl rollout history deployment/{name} - 显示指定deployment的版本历史

5. kubectl rollout undo deployment/{name} --to-revision=1 - 回滚指定deployment到指定版本

6. kubectl rollout pause deployment/{name} - 暂停指定deployment的升级

7. kubectl rollout resume deployment/{name} - 恢复指定deployment的升级

8. kubectl rollout status deployment/{name} - 显示指定deployment的升级状态

8. kubectl rollout restart deployment/{name} - 热重启deployment

9. kubectl exec -it {name} -- /bin/bash - 在指定pod中进入bash终端

10. kubectl apply -f {filename} - 根据指定的yaml文件部署kubernetes资源
1. kubectl create deployment {name} --image={image} --replicas={num} --port={port} - 创建deployment

2. kubectl expose deployment {name} --port={port} --target-port={targetport} --type={type} - 创建service

3. kubectl set image deployment/{name} {container}={image}:{tag} - 更新deployment中某个容器的镜像

4. kubectl rollout history deployment/{name} - 显示指定deployment的版本历史

5. kubectl rollout undo deployment/{name} --to-revision=1 - 回滚指定deployment到指定版本

6. kubectl rollout pause deployment/{name} - 暂停指定deployment的升级

7. kubectl rollout resume deployment/{name} - 恢复指定deployment的升级

8. kubectl rollout status deployment/{name} - 显示指定deployment的升级状态

8. kubectl rollout restart deployment/{name} - 热重启deployment

9. kubectl exec -it {name} -- /bin/bash - 在指定pod中进入bash终端

10. kubectl apply -f {filename} - 根据指定的yaml文件部署kubernetes资源

四、安全和访问控制

bash
1. kubectl create secret generic {name} --from-file={key}={path} - 创建secret对象

2. kubectl create serviceaccount {name} - 创建serviceaccount对象

3. kubectl create role {name} --resource={resource} --verb={verb} - 创建role对象

4. kubectl create rolebinding {name} --role={role} --serviceaccount={namespace}:{sa_name} - 创建rolebinding对象

5. kubectl get secret {name} -o=jsonpath='{.data.{key}}' | base64 --decode - 显示secret中指定key的值

6. kubectl delete secret {name} - 删除指定的secret对象

7. kubectl get serviceaccount {name} - 显示指定的serviceaccount对象信息

8. kubectl create clusterrole {name} --resource={resource} --verb={verb} - 创建clusterrole对象

9. kubectl create clusterrolebinding {name} --clusterrole={role} --serviceaccount={namespace}:{sa_name} - 创建clusterrolebinding对象

10. kubectl auth can-i <VERB> <RESOURCE> [--namespace=<NAMESPACE>] - 检查当前用户在某个ns是否有执行指定资源操作的权限
- <VERB>:表示要执行的操作,例如 create,get,update 等。
- <RESOURCE>:表示资源类型,例如 pods,deployments,services 等。
--namespace=<NAMESPACE>:(可选)表示在指定的命名空间中搜索资源。
1. kubectl create secret generic {name} --from-file={key}={path} - 创建secret对象

2. kubectl create serviceaccount {name} - 创建serviceaccount对象

3. kubectl create role {name} --resource={resource} --verb={verb} - 创建role对象

4. kubectl create rolebinding {name} --role={role} --serviceaccount={namespace}:{sa_name} - 创建rolebinding对象

5. kubectl get secret {name} -o=jsonpath='{.data.{key}}' | base64 --decode - 显示secret中指定key的值

6. kubectl delete secret {name} - 删除指定的secret对象

7. kubectl get serviceaccount {name} - 显示指定的serviceaccount对象信息

8. kubectl create clusterrole {name} --resource={resource} --verb={verb} - 创建clusterrole对象

9. kubectl create clusterrolebinding {name} --clusterrole={role} --serviceaccount={namespace}:{sa_name} - 创建clusterrolebinding对象

10. kubectl auth can-i <VERB> <RESOURCE> [--namespace=<NAMESPACE>] - 检查当前用户在某个ns是否有执行指定资源操作的权限
- <VERB>:表示要执行的操作,例如 create,get,update 等。
- <RESOURCE>:表示资源类型,例如 pods,deployments,services 等。
--namespace=<NAMESPACE>:(可选)表示在指定的命名空间中搜索资源。

五、网络和负载均衡

bash
1. kubectl get svc {name} -o jsonpath='{.spec.clusterIP}' - 显示指定service的cluster IP地址

2. kubectl get endpoints {name} - 显示指定service的后端地址信息

3. kubectl get ingress {name} - 显示指定ingress的详细信息

4. kubectl create ingress {name} --rule={host}/{path}=svc:{service_name}:{port} - 创建ingress条目

5. kubectl delete ingress {name} - 删除指定的ingress条目

6. kubectl get svc {name} -o jsonpath='{.spec.type}' - 显示指定service的类型信息

7. kubectl get pods -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.podIP}{"\n"}{end}' - 显示所有pods的名称和IP地址信息

8. kubectl exec -it {name} -- nc -z -v {ip} {port} - 在指定pod中使用nc工具测试TCP连接

9. kubectl exec -it {name} -- curl {url} - 在指定pod中使用curl工具测试HTTP连接

10. kubectl get pods -l {label} - 显示所有带有指定label的pods的信息
1. kubectl get svc {name} -o jsonpath='{.spec.clusterIP}' - 显示指定service的cluster IP地址

2. kubectl get endpoints {name} - 显示指定service的后端地址信息

3. kubectl get ingress {name} - 显示指定ingress的详细信息

4. kubectl create ingress {name} --rule={host}/{path}=svc:{service_name}:{port} - 创建ingress条目

5. kubectl delete ingress {name} - 删除指定的ingress条目

6. kubectl get svc {name} -o jsonpath='{.spec.type}' - 显示指定service的类型信息

7. kubectl get pods -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.podIP}{"\n"}{end}' - 显示所有pods的名称和IP地址信息

8. kubectl exec -it {name} -- nc -z -v {ip} {port} - 在指定pod中使用nc工具测试TCP连接

9. kubectl exec -it {name} -- curl {url} - 在指定pod中使用curl工具测试HTTP连接

10. kubectl get pods -l {label} - 显示所有带有指定label的pods的信息

六、容器高级操作

bash
1. kubectl exec -it <pod_name> -- <command>:在运行中的 Pod 内部启动一个新的容器,并在其中执行指定的命令。

2. kubectl cp <pod_name>:<container_path> <host_path>:将 Pod 内指定路径的文件或目录拷贝到主机上。

3. kubectl logs <pod_name> <container_name>:查看 Pod 内指定容器的日志输出。

4. kubectl port-forward <pod_name> <local_port>:<pod_port>:将本地端口与 Pod 内部的特定端口进行转发,从而可以通过本地网络访问 Pod 中的服务。

5. kubectl describe pod <pod_name>:查看 Pod 的详细信息,例如 Pod 的状态、资源限制和调度信息等。

6. kubectl top pod <pod_name>:查看 Pod  CPU 和内存使用情况。

7. kubectl get pod <pod_name> -o yaml:获取 Pod  YAML 文件,可以用于备份或还原 Pod。

8. kubectl rollout restart deployment <deployment_name>:强制重启 Deployments 中的所有 Pod,以便应用程序更新能够生效。

9. kubectl attach <pod_name> -c <container_name>:将当前终端附加到 Pod 中指定的容器上,从而可以直接在该容器内操作。

10. kubectl apply -f <resource_file.yml>:使用 YAML  JSON 文件部署 Pod,支持声明式配置管理。
1. kubectl exec -it <pod_name> -- <command>:在运行中的 Pod 内部启动一个新的容器,并在其中执行指定的命令。

2. kubectl cp <pod_name>:<container_path> <host_path>:将 Pod 内指定路径的文件或目录拷贝到主机上。

3. kubectl logs <pod_name> <container_name>:查看 Pod 内指定容器的日志输出。

4. kubectl port-forward <pod_name> <local_port>:<pod_port>:将本地端口与 Pod 内部的特定端口进行转发,从而可以通过本地网络访问 Pod 中的服务。

5. kubectl describe pod <pod_name>:查看 Pod 的详细信息,例如 Pod 的状态、资源限制和调度信息等。

6. kubectl top pod <pod_name>:查看 Pod  CPU 和内存使用情况。

7. kubectl get pod <pod_name> -o yaml:获取 Pod  YAML 文件,可以用于备份或还原 Pod。

8. kubectl rollout restart deployment <deployment_name>:强制重启 Deployments 中的所有 Pod,以便应用程序更新能够生效。

9. kubectl attach <pod_name> -c <container_name>:将当前终端附加到 Pod 中指定的容器上,从而可以直接在该容器内操作。

10. kubectl apply -f <resource_file.yml>:使用 YAML  JSON 文件部署 Pod,支持声明式配置管理。

七、状态查询和修改

bash
1. kubectl get deployments.apps {name} - 显示指定deployment的详细信息

2. kubectl get deployments.apps -A - 显示所有namespace下的deployment信息

3. kubectl get replicasets.apps {name} - 显示指定replicaset的详细信息

4. kubectl get replicasets.apps -A - 显示所有namespace下的replicaset信息

5. kubectl get services -A - 显示所有namespace下的service信息

6. kubectl get pods -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' - 显示所有pods的名称信息

7. kubectl get pod {name} -o jsonpath='{range .status.conditions[?(@.type=="Ready")]}{.status}{"\n"}{end}' - 显示指定pod的Ready状态

8. kubectl get pod {name} -o jsonpath='{range .status.conditions[?(@.type=="Ready")]}{.message}{"\n"}{end}' - 显示指定pod的Ready状态信息

9. kubectl get pod {name} -o jsonpath='{range .status.conditions[?(@.type=="Ready")]}{.reason}{"\n"}{end}' - 显示指定pod的Ready状态原因信息

10. kubectl delete pod {name} --force --grace-period=0 - 强制删除指定pod
1. kubectl get deployments.apps {name} - 显示指定deployment的详细信息

2. kubectl get deployments.apps -A - 显示所有namespace下的deployment信息

3. kubectl get replicasets.apps {name} - 显示指定replicaset的详细信息

4. kubectl get replicasets.apps -A - 显示所有namespace下的replicaset信息

5. kubectl get services -A - 显示所有namespace下的service信息

6. kubectl get pods -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' - 显示所有pods的名称信息

7. kubectl get pod {name} -o jsonpath='{range .status.conditions[?(@.type=="Ready")]}{.status}{"\n"}{end}' - 显示指定pod的Ready状态

8. kubectl get pod {name} -o jsonpath='{range .status.conditions[?(@.type=="Ready")]}{.message}{"\n"}{end}' - 显示指定pod的Ready状态信息

9. kubectl get pod {name} -o jsonpath='{range .status.conditions[?(@.type=="Ready")]}{.reason}{"\n"}{end}' - 显示指定pod的Ready状态原因信息

10. kubectl delete pod {name} --force --grace-period=0 - 强制删除指定pod

八、状态修复和调整

bash
1. kubectl get pods -o jsonpath='{range .items[?(@.status.phase=="Pending")]}{.metadata.name}{"\t"}{.reason}{"\n"}{end}' - 显示所有处于Pending状态的pods

2. kubectl describe pod {name} - 显示指定pod的详细信息

3. kubectl describe node {name} - 显示指定节点的详细信息

4. kubectl describe deployment {name} - 显示指定deployment的详细信息

5. kubectl delete pod {name} --force --grace-period=0 - 强制删除指定pod

6. kubectl delete deployment {name} - 删除指定deployment

7. kubectl delete service {name} - 删除指定service

8. kubectl rollout restart deployment {name} - 重启指定deployment

9. kubectl rollout undo deployment {name} - 回滚指定deployment
	
10. kubectl scale deployment {name} --replicas={num} - 修改指定deployment的pod数量
1. kubectl get pods -o jsonpath='{range .items[?(@.status.phase=="Pending")]}{.metadata.name}{"\t"}{.reason}{"\n"}{end}' - 显示所有处于Pending状态的pods

2. kubectl describe pod {name} - 显示指定pod的详细信息

3. kubectl describe node {name} - 显示指定节点的详细信息

4. kubectl describe deployment {name} - 显示指定deployment的详细信息

5. kubectl delete pod {name} --force --grace-period=0 - 强制删除指定pod

6. kubectl delete deployment {name} - 删除指定deployment

7. kubectl delete service {name} - 删除指定service

8. kubectl rollout restart deployment {name} - 重启指定deployment

9. kubectl rollout undo deployment {name} - 回滚指定deployment
	
10. kubectl scale deployment {name} --replicas={num} - 修改指定deployment的pod数量

九、自定义资源

bash
1. kubectl api-versions - 显示kubernetes API上的所有版本

2. kubectl api-resources - 显示kubernetes API上的所有资源

3. kubectl get crds - 显示集群中所有自定义资源的定义

4. kubectl create -f {filename} - 创建自定义资源对象

5. kubectl get crd {name} - 显示指定自定义资源的定
1. kubectl api-versions - 显示kubernetes API上的所有版本

2. kubectl api-resources - 显示kubernetes API上的所有资源

3. kubectl get crds - 显示集群中所有自定义资源的定义

4. kubectl create -f {filename} - 创建自定义资源对象

5. kubectl get crd {name} - 显示指定自定义资源的定

十、日志和监控

bash
1. kubectl logs {name} - 显示指定pod的日志信息

2. kubectl logs --tail={num} {name} - 显示指定pod最后几条日志信息

3. kubectl logs -f {name} - 实时显示指定pod的日志信息

4. kubectl top nodes - 显示所有节点的CPU和内存使用情况

5. kubectl top pods - 显示所有pods的CPU和内存使用情况

6. kubectl get events - 显示所有事件信息
1. kubectl logs {name} - 显示指定pod的日志信息

2. kubectl logs --tail={num} {name} - 显示指定pod最后几条日志信息

3. kubectl logs -f {name} - 实时显示指定pod的日志信息

4. kubectl top nodes - 显示所有节点的CPU和内存使用情况

5. kubectl top pods - 显示所有pods的CPU和内存使用情况

6. kubectl get events - 显示所有事件信息

十一、扩展和插件

bash
1. kubectl plugin list - 查看已安装的插件

2. kubectl plugin install https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz|zip} - 安装krew插件管理器

3. kubectl plugin install {name} - 安装指定插件

4. kubectl krew search {name} - 搜索krew插件

5. kubectl krew uninstall {name} - 卸载指定插件
1. kubectl plugin list - 查看已安装的插件

2. kubectl plugin install https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz|zip} - 安装krew插件管理器

3. kubectl plugin install {name} - 安装指定插件

4. kubectl krew search {name} - 搜索krew插件

5. kubectl krew uninstall {name} - 卸载指定插件

十二、高可用和容错

bash
1. kubectl get endpoints {name} - 显示指定service的后端地址信息

2. kubectl get svc {name} -o jsonpath='{.spec.selector}' - 显示指定service的标签选择器

3. kubectl get pods -o jsonpath='{.items[*].metadata.labels}' - 显示所有pods的标签信息

4. kubectl label pods {name} {label}={value} - 给指定pod打上标签

5. kubectl taint node {name} key=value:taint_effect - 在指定节点上添加taint特性

6. kubectl drain <NODE_NAME>: 将节点设置为不可调度状态,以便于维护和升级该节点,并避免丢失重要的运行数据。

7. kubectl cordon <NODE_NAME>: 阻止新的 Pod 调度到特定的节点上,以避免在节点维护期间出现过多负载。

8. kubectl uncordon <NODE_NAME>: 允许新的 Pod 调度到指定的节点上,以恢复该节点的正常工作状态。

9. kubectl get componentstatuses: 获取集群中各个组件(如 kube-apiserver、kube-controller-manager、kube-scheduler 等)的当前健康状态,以确保集群的高可用性和稳定性。

10. kubectl debug <pod-name> -c <container-name> -it -- /bin/bash:在指定的 Pod 中的容器中运行一个新的 bash 进程,以便进行调试。
1. kubectl get endpoints {name} - 显示指定service的后端地址信息

2. kubectl get svc {name} -o jsonpath='{.spec.selector}' - 显示指定service的标签选择器

3. kubectl get pods -o jsonpath='{.items[*].metadata.labels}' - 显示所有pods的标签信息

4. kubectl label pods {name} {label}={value} - 给指定pod打上标签

5. kubectl taint node {name} key=value:taint_effect - 在指定节点上添加taint特性

6. kubectl drain <NODE_NAME>: 将节点设置为不可调度状态,以便于维护和升级该节点,并避免丢失重要的运行数据。

7. kubectl cordon <NODE_NAME>: 阻止新的 Pod 调度到特定的节点上,以避免在节点维护期间出现过多负载。

8. kubectl uncordon <NODE_NAME>: 允许新的 Pod 调度到指定的节点上,以恢复该节点的正常工作状态。

9. kubectl get componentstatuses: 获取集群中各个组件(如 kube-apiserver、kube-controller-manager、kube-scheduler 等)的当前健康状态,以确保集群的高可用性和稳定性。

10. kubectl debug <pod-name> -c <container-name> -it -- /bin/bash:在指定的 Pod 中的容器中运行一个新的 bash 进程,以便进行调试。

十三、资源限制和优化

bash
1. kubectl describe pod {name} - 显示指定pod的详细信息

2. kubectl describe node {name} - 显示指定节点的详细信息

3. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.limits.cpu}' - 显示指定pod的CPU限制

4. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.limits.memory}' - 显示指定pod的内存限制

5. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.requests.cpu}' - 显示指定pod的CPU请求

6. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.requests.memory}' - 显示指定pod的内存请求

7. kubectl get node {name} -o jsonpath='{.status.allocatable.cpu}' - 显示指定节点可用的CPU数量
1. kubectl describe pod {name} - 显示指定pod的详细信息

2. kubectl describe node {name} - 显示指定节点的详细信息

3. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.limits.cpu}' - 显示指定pod的CPU限制

4. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.limits.memory}' - 显示指定pod的内存限制

5. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.requests.cpu}' - 显示指定pod的CPU请求

6. kubectl get pod {name} -o jsonpath='{.spec.containers[*].resources.requests.memory}' - 显示指定pod的内存请求

7. kubectl get node {name} -o jsonpath='{.status.allocatable.cpu}' - 显示指定节点可用的CPU数量

十四、集群管理和维护

bash
1. kubectl cluster-info - 显示集群的基本信息

2. kubectl get nodes - 显示所有的节点信息

3. kubectl get pods - 显示所有的pods信息

4. kubectl get deployments - 显示所有的deployment信息

5. kubectl get services - 显示所有的service信息

6. kubectl get namespaces - 显示所有的namespace信息

7. kubectl get events - 显示所有的事件信息

8. kubectl get configmaps - 显示所有的configmap信息

9. kubectl get secrets - 显示所有的secret信息

10. kubectl apply -f {filename} - 根据指定的yaml文件部署kubernetes资源
1. kubectl cluster-info - 显示集群的基本信息

2. kubectl get nodes - 显示所有的节点信息

3. kubectl get pods - 显示所有的pods信息

4. kubectl get deployments - 显示所有的deployment信息

5. kubectl get services - 显示所有的service信息

6. kubectl get namespaces - 显示所有的namespace信息

7. kubectl get events - 显示所有的事件信息

8. kubectl get configmaps - 显示所有的configmap信息

9. kubectl get secrets - 显示所有的secret信息

10. kubectl apply -f {filename} - 根据指定的yaml文件部署kubernetes资源

十五、镜像和存储

bash
1. kubectl get nodes -o jsonpath='{.items[*].status.allocatable.attachable-volumes-aws-ebs}' - 显示可用的AWS EBS存储卷数量

2. kubectl get pods -o jsonpath='{.items[*].spec.volumes[*].name}' - 显示所有pods中使用的卷名称

3. kubectl get storageclass - 显示所有的storageclass信息

4. kubectl get persistentvolumeclaim - 显示所有的pvc信息

5. kubectl get persistentvolume - 显示所有的pv信息
1. kubectl get nodes -o jsonpath='{.items[*].status.allocatable.attachable-volumes-aws-ebs}' - 显示可用的AWS EBS存储卷数量

2. kubectl get pods -o jsonpath='{.items[*].spec.volumes[*].name}' - 显示所有pods中使用的卷名称

3. kubectl get storageclass - 显示所有的storageclass信息

4. kubectl get persistentvolumeclaim - 显示所有的pvc信息

5. kubectl get persistentvolume - 显示所有的pv信息

十六、自动化和脚本化

bash
1. kubectl apply -f {filename} - 使用yaml文件自动创建kubernetes资源

2. kubectl delete -f {filename} - 使用yaml文件自动删除kubernetes资源

3. kubectl create deployment {name} --image={image} --dry-run -o yaml > {filename} - 生成deployment的yaml文件

4. kubectl create service {name} --tcp={port}:{targetport} --dry-run -o yaml > {filename} - 生成service的yaml文件

5. kubectl create secret generic {name} --from-literal=key=value --dry-run -o yaml > {filename} - 生成secret的yaml文件

6. kubectl create cronjob [job_name] --image=[image_name] --schedule='*/1 * * * *' --restart=OnFailure --dry-run -o yaml > [file_name].yaml:创建一个CronJob实例,并将其定义文件保存到指定的YAML文件中。

7. kubectl annotate <RESOURCE_TYPE> <RESOURCE_NAME> <KEY>=<VALUE>: 给指定类型的资源对象添加注释。
1. kubectl apply -f {filename} - 使用yaml文件自动创建kubernetes资源

2. kubectl delete -f {filename} - 使用yaml文件自动删除kubernetes资源

3. kubectl create deployment {name} --image={image} --dry-run -o yaml > {filename} - 生成deployment的yaml文件

4. kubectl create service {name} --tcp={port}:{targetport} --dry-run -o yaml > {filename} - 生成service的yaml文件

5. kubectl create secret generic {name} --from-literal=key=value --dry-run -o yaml > {filename} - 生成secret的yaml文件

6. kubectl create cronjob [job_name] --image=[image_name] --schedule='*/1 * * * *' --restart=OnFailure --dry-run -o yaml > [file_name].yaml:创建一个CronJob实例,并将其定义文件保存到指定的YAML文件中。

7. kubectl annotate <RESOURCE_TYPE> <RESOURCE_NAME> <KEY>=<VALUE>: 给指定类型的资源对象添加注释。

十七、部署和发布

bash
1. kubectl create deployment {name} --image={image} --replicas={num} --port={port} - 创建deployment

2. kubectl scale deployment {name} --replicas={num} - 修改deployment的pod数量

3. kubectl autoscale deployment {name} --cpu-percent={percent} --min={min} --max={max} - 自动扩缩deployment的pod数量

4. kubectl create service {name} --tcp={port}:{targetport} - 创建service

5. kubectl expose deployment {name} --port={port} --target-port={targetport} --type={type} - 创建service
1. kubectl create deployment {name} --image={image} --replicas={num} --port={port} - 创建deployment

2. kubectl scale deployment {name} --replicas={num} - 修改deployment的pod数量

3. kubectl autoscale deployment {name} --cpu-percent={percent} --min={min} --max={max} - 自动扩缩deployment的pod数量

4. kubectl create service {name} --tcp={port}:{targetport} - 创建service

5. kubectl expose deployment {name} --port={port} --target-port={targetport} --type={type} - 创建service