K8S运维必知必会的 Kubectl 命令总结,收藏好了~

本文是 Kubernetes 运维人员的 kubectl 命令速查指南,涵盖从自动补全设置、上下文管理、资源创建到日志查看、节点交互等全方位操作。通过实例演示了如何查看配置、创建和更新资源、检查和管理 pod、service、node 等,以及如何与运行中的容器交互和调整资源限制。
摘要由CSDN通过智能技术生成

kubectl 常用命令指南

Kubectl 命令是操作 kubernetes 集群的最直接的方式,特别是运维人员,需要对这些命令有一个详细的掌握

Kubectl 自动补全

setup autocomplete in bash, bash-completion package should be installed first.

$ source <(kubectl completion bash)

setup autocomplete in zsh

$ source <(kubectl completion zsh)
Kubectl 上下文和配置

设置 kubectl 命令交互的 kubernetes 集群并修改配置信息。参阅 使用 kubeconfig 文件进行跨集群验证 获取关于配置文件的详细信息。

显示合并后的 kubeconfig 配置

$ kubectl config view

同时使用多个 kubeconfig 文件并查看合并后的配置

$ KUBECONFIG=/.kube/config:/.kube/kubconfig2 kubectl config view

获取 e2e 用户的密码

$ kubectl config view -o jsonpath=‘{.users[?(@.name == “e2e”)].user.password}’

显示当前的上下文

$ kubectl config current-context

设置默认上下文为 my-cluster-name

$ kubectl config use-context my-cluster-name

向 kubeconf 中增加支持基本认证的新集群

$ kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword

使用指定的用户名和 namespace 设置上下文

$ kubectl config set-context gce --user=cluster-admin --namespace=foo
&& kubectl config use-context gce
创建对象

Kubernetes 的清单文件可以使用 json 或 yaml 格式定义。可以以 .yaml、.yml、或者 .json 为扩展名。

创建资源

$ kubectl create -f ./my-manifest.yaml

使用多个文件创建资源

$ kubectl create -f ./my1.yaml -f ./my2.yaml

使用目录下的所有清单文件来创建资源

$ kubectl create -f ./dir

使用 url 来创建资源

$ kubectl create -f https://git.io/vPieo

启动一个 nginx 实例

$ kubectl run nginx --image=nginx

获取 pod 和 svc 的文档

$ kubectl explain pods,svc

从 stdin 输入中创建多个 YAML 对象

$ cat <<EOF | kubectl create -f -
apiVersion: v1
kind: Pod
metadata:
name: busybox-sleep
spec:
containers:

  • name: busybox
    image: busybox
    args:
    • sleep
    • “1000000”

apiVersion: v1
kind: Pod
metadata:
name: busybox-sleep-less
spec:
containers:

  • name: busybox
    image: busybox
    args:
    • sleep
    • “1000”
      EOF

创建包含几个 key 的 Secret

$ cat <<EOF | kubectl create -f -
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
password: $(echo “s33msi4” | base64)
username: $(echo “jane” | base64)
EOF
显示和查找资源

Get commands with basic output

列出所有 namespace 中的所有 service

$ kubectl get services

列出所有 namespace 中的所有 pod

$ kubectl get pod

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值