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

2023-03-30 14:01:28 +08:00
 wsgzao

前言

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

更新历史

2023 年 03 月 07 日 - 初稿

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


安装 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.

安装 node-shell

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


修改 Node root 密码

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


1114 次点击
所在节点    Kubernetes
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/928471

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX