公有云场景越来越多公司选择基于托管 K8S 部署应用,大部分人都会直接基于 kubeconfig 配置管理 K8S 集群,但时间一长偶尔也会遇到 K8S Node 忘记 root 密码的尴尬,这回跟着同事学习用 krew 安装 node-shell 轻松修改 k8s 宿主机 root 密码。
2023 年 03 月 07 日 - 初稿
阅读原文 - https://wsgzao.github.io/post/krew/
https://krew.sigs.k8s.io/docs/user-guide/quickstart/
https://krew.sigs.k8s.io/docs/user-guide/setup/install/
# install krew
brew install krew
# run krew command
kubectl krew
krew is the kubectl plugin manager.
You can invoke krew through kubectl: "kubectl krew [command]..."
Usage:
kubectl krew [command]
Available Commands:
completion generate the autocompletion script for the specified shell
help Help about any command
index Manage custom plugin indexes
info Show information about an available plugin
install Install kubectl plugins
list List installed kubectl plugins
search Discover kubectl plugins
uninstall Uninstall plugins
update Update the local copy of the plugin index
upgrade Upgrade installed plugins to newer versions
version Show krew version and diagnostics
Flags:
-h, --help help for krew
-v, --v Level number for the log level verbosity
Use "kubectl krew [command] --help" for more information about a command.
https://github.com/kvaps/kubectl-node-shell
https://github.com/sunny0826/kubecm
https://github.com/sunny0826/kubectl-pod-lens
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/kubectl
~ kubectl krew update
Adding "default" plugin index from https://github.com/kubernetes-sigs/krew-index.git.
Updated the local copy of plugin index.
~ kubectl krew index list
INDEX URL
default https://github.com/kubernetes-sigs/krew-index.git
kubectl krew install node-shell
WARNING: You have added a new index from "https://github.com/kvaps/krew-index"
The plugins in this index are not audited for security by the Krew maintainers.
Install them at your own risk.
WARNING: To be able to run kubectl plugins, you need to add
the following to your ~/.zshrc:
export PATH="${PATH}:${HOME}/.krew/bin"
and restart your shell.
Updated the local copy of plugin index "kvaps".
Installing plugin: node-shell
Installed plugin: node-shell
\
| Use this plugin:
| kubectl node-shell
| Documentation:
| https://github.com/kvaps/kubectl-node-shell
| Caveats:
| \
| | You need to be allowed to start privileged pods in the cluster
| /
/
https://kubernetes.io/docs/tasks/extend-kubernetes/socks5-proxy-access-api/
kubecm add
add proxy-url
kgno
NAME STATUS ROLES AGE VERSION
xxxxxxxxxxxx Ready <none> 20d v1.20.15-vke.7
kubectl node-shell xxx
passwd