使用krew安装node-shell轻松修改k8s宿主机root密码

85 阅读1分钟

前言

公有云场景越来越多公司选择基于托管K8S部署应用,大部分人都会直接基于kubeconfig配置管理K8S集群,但时间一长偶尔也会遇到K8S Node忘记root密码的尴尬,这回跟着同事学习用krew安装node-shell轻松修改k8s宿主机root密码。

更新历史

2023年03月07日 - 初稿

阅读原文 - wsgzao.github.io/post/krew/


安装krew

krew.sigs.k8s.io/docs/user-g…

krew.sigs.k8s.io/docs/user-g…

# 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.

安装node-shell

github.com/kvaps/kubec…

github.com/sunny0826/k…

github.com/sunny0826/k…

github.com/ohmyzsh/ohm…

 ~  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
 | /
/


修改Node root密码

kubernetes.io/docs/tasks/…

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