0. 概述
kubectl 作为默认的 Kubernetes 命令行工具,具有的功能和选项非常多,所以我就最常用的一些功能和选项进行一个汇总。
1. 安装 kubectl
[root@liqiang.io]# curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
[root@liqiang.io]# curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
[root@liqiang.io]# echo "$(<kubectl.sha256) kubectl" | sha256sum --check
kubectl: OK
[root@liqiang.io]# sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
如果输出的字符串不一样,请重新下载。
2. 通过 label 过滤资源
[root@liqiang.io]# kubectl get pods -l environment=production,tier=frontend
3. 根据 label set 过滤
[root@liqiang.io]# kubectl get pods -l 'environment in (production, qa)'
[root@liqiang.io]# kubectl get pods -l 'environment,environment notin (frontend)'
4. 根据 label 组合过滤
[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
参数:
[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
参数。