
公有云场景越来越多公司选择基于托管 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