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

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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
作为一名 Kubernetes 运维工程师,你需要掌握以下技能: 1. Linux 系统管理技能:作为一名运维工程师,你需要熟练掌握 Linux 操作系统,包括基本的命令行操作、文件系统管理、网络配置等。 2. Docker 容器技能:Kubernetes 是一个容器编排平台,因此你需要熟练掌握 Docker 容器技术,包括 Docker 容器的构建、镜像管理、运行和调试等。 3. Kubernetes 架构和组件:作为一名 Kubernetes 运维工程师,你需要深入理解 Kubernetes 的架构和各个组件的作用,包括 kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy 等。 4. Kubernetes 集群搭建和管理:你需要熟练掌握 Kubernetes 集群的搭建和管理,包括集群的安装、配置、监控、扩展和升级等。 5. Kubernetes 应用部署和管理:你需要熟练掌握 Kubernetes 应用的部署和管理,包括应用的打包、发布、升级、回滚和扩容等。 6. 监控和日志管理:你需要掌握 Kubernetes 集群和应用的监控和日志管理技术,包括 Prometheus、Grafana、ELK 等工具的使用。 7. 自动化运维技能:你需要具备自动化运维技能,包括使用 Ansible、Puppet、SaltStack 等自动化工具进行集群管理和应用部署。 8. 网络和安全技能:你需要掌握 Kubernetes 集群的网络配置和安全管理技术,包括网络插件、网络策略、TLS 加密、RBAC 等。 以上是一些必备的技能,当然还有其他的技能可以帮助你更好地完成 Kubernetes 运维工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值