0. 概述

kubectl 作为默认的 Kubernetes 命令行工具,具有的功能和选项非常多,所以我就最常用的一些功能和选项进行一个汇总。

1. 安装 kubectl

  1. [root@liqiang.io]# curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
  2. [root@liqiang.io]# curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
  3. [root@liqiang.io]# echo "$(<kubectl.sha256) kubectl" | sha256sum --check
  4. kubectl: OK
  5. [root@liqiang.io]# sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

如果输出的字符串不一样,请重新下载。

2. 通过 label 过滤资源

  1. [root@liqiang.io]# kubectl get pods -l environment=production,tier=frontend

3. 根据 label set 过滤

  1. [root@liqiang.io]# kubectl get pods -l 'environment in (production, qa)'
  2. [root@liqiang.io]# kubectl get pods -l 'environment,environment notin (frontend)'

4. 根据 label 组合过滤

  1. [root@liqiang.io]# kubectl get pods -l 'environment in (production),tier in (frontend)'

5. 常见问题

5.1 certificate signed by unknown authority

kubectl 命令添加 --insecure-skip-tls-verify 参数:

  1. [root@liqiang.io]# kubectl --insecure-skip-tls-verify get nodes

5.2 the server has asked for the client to provide credentials

去除掉 kubectl 命令中的 --insecure-skip-tls-verify 参数。

5. Ref