玩转云原生,使用k9s管理k8s集群和k3s集群
文章标题
- k8s
- k3s
- PVE安装虚拟机
- 安装k3s
- Master节点的配置
- Node 节点的配置
- http代理
- 卸载
- 在 LXC 容器中跑 K3s(未成功)
- k9s
- 特征
- 安装
- Linux
- Windows
- MacOS
- 附:brew方式-适用于Mac和Linux
- 配置
- 参考
k8s
【功法】安装参见之前博文:使用Kubekey安装K8S集群
【心法】k8s脉络图如下:
k3s
PVE安装虚拟机
Hostname | IP Address |
---|---|
k3s-node1 | 192.168.143.254 |
k3s-node2 | 192.168.153.254 |
k3s-node3 | 192.168.163.254 |
k3s-node4 | 192.168.133.254 |
安装k3s
https://www.rancher.cn/k3s/
https://docs.k3s.io/zh/quick-start
Master节点的配置
# 安装K3s服务
curl -sfL https://get.k3s.io | sh -# 配置文件添加符号链接,方便其他项目访问
ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config# 安装完之后,查看节点状态,此时只有一个节点
kubectl get node# 获取Token,用于下一步普通 Node 节点的配置
cat /var/lib/rancher/k3s/server/node-token
[INFO] Finding release for channel stable
[INFO] Using v1.33.3+k3s1 as release
[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.33.3+k3s1/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.33.3+k3s1/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Skipping installation of SELinux RPM
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO] systemd: Starting k3s
Node 节点的配置
curl -sfL https://get.k3s.io | K3S_URL=https://192.168.143.254:6443 K3S_TOKEN=K107841dce781b89788e2969358aca0bbb5697e76a670e584ed63607b60166181d8::server:3f98c0510fa782473aa85f261a3b0b7d sh -
http代理
https://docs.k3s.io/zh/advanced#%E9%85%8D%E7%BD%AE-http-%E4%BB%A3%E7%90%86
/etc/systemd/system/k3s.service.env
/etc/systemd/system/k3s-agent.service.env
HTTP_PROXY=http://xxx:7890
HTTPS_PROXY=http://xxx:7890
NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16CONTAINERD_HTTP_PROXY=http://xxx:7890
CONTAINERD_HTTPS_PROXY=http://xxx:7890
CONTAINERD_NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
卸载
https://docs.k3s.io/zh/installation/uninstall
/usr/local/bin/k3s-uninstall.sh/usr/local/bin/k3s-agent-uninstall.sh
在 LXC 容器中跑 K3s(未成功)
https://mp.weixin.qq.com/s/Bg8Pz5Ir3_CN-YmCUNlyFQ?poc_token=HKjmmmij0m98gqkkYOKR3SU49qTrlfNkwt6wdYPb
文章中只是安装了master节点,不涉及于agent通信,所以没有问题。
总结说:单节点没有问题,集群模式会报错。
journalctl -u k3s
Jul 31 13:22:19 k3s-init systemd[1]: Starting k3s.service - Lightweight Kubernetes...
Jul 31 13:22:19 k3s-init sh[835]: + /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service
Jul 31 13:22:19 k3s-init modprobe[838]: modprobe: FATAL: Module br_netfilter not found in directory /lib/modules/6.8.12-9-pve
Jul 31 13:22:19 k3s-init modprobe[840]: modprobe: FATAL: Module overlay not found in directory /lib/modules/6.8.12-9-pve
Jul 31 13:22:19 k3s-init k3s[842]: time="2025-07-31T13:22:19Z" level=info msg="Acquiring lock file /var/lib/rancher/k3s/data/.lock"
Jul 31 13:22:19 k3s-init k3s[842]: time="2025-07-31T13:22:19Z" level=info msg="Preparing data dir /var/lib/rancher/k3s/data/8460fc4df8e204d507e141d109ea776ef78412e65121eeb3cf7c67ee581d699f"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="Starting k3s v1.33.3+k3s1 (236cbf25)"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="Configuring sqlite3 database connection pooling: maxIdleConns=2, maxOpenConns=0, connMaxLifetime=0s"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="Configuring database table schema and indexes, this may take a moment..."
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="Database tables and indexes are up to date"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="Kine available at unix://kine.sock"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="Datastore connection validated successfully, proceeding with bootstrap data generation"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="generated self-signed CA certificate CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20.964541392 +0000 UTC notAfter=2035-07-29 13:22:20.96454>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=system:admin,O=system:masters signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=system:k3s-supervisor,O=system:masters signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07->
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=system:kube-controller-manager signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=system:kube-scheduler signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +0000>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=system:apiserver,O=system:masters signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=k3s-cloud-controller-manager signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:2>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="generated self-signed CA certificate CN=k3s-server-ca@1753968140: notBefore=2025-07-31 13:22:20.967989453 +0000 UTC notAfter=2035-07-29 13:22:20.96798>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=kube-apiserver signed by CN=k3s-server-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +0000 UTC"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=kube-scheduler signed by CN=k3s-server-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +0000 UTC"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=kube-controller-manager signed by CN=k3s-server-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +00>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="generated self-signed CA certificate CN=k3s-request-header-ca@1753968140: notBefore=2025-07-31 13:22:20.969867525 +0000 UTC notAfter=2035-07-29 13:22:>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=system:auth-proxy signed by CN=k3s-request-header-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="generated self-signed CA certificate CN=etcd-server-ca@1753968140: notBefore=2025-07-31 13:22:20.970671994 +0000 UTC notAfter=2035-07-29 13:22:20.9706>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=etcd-client signed by CN=etcd-server-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +0000 UTC"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="generated self-signed CA certificate CN=etcd-peer-ca@1753968140: notBefore=2025-07-31 13:22:20.97214199 +0000 UTC notAfter=2035-07-29 13:22:20.9721419>
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=etcd-peer signed by CN=etcd-peer-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +0000 UTC"
Jul 31 13:22:20 k3s-init k3s[842]: time="2025-07-31T13:22:20Z" level=info msg="certificate CN=etcd-server signed by CN=etcd-server-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:20 +0000 UTC"
Jul 31 13:22:21 k3s-init k3s[842]: time="2025-07-31T13:22:21Z" level=info msg="certificate CN=k3s,O=k3s signed by CN=k3s-server-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:21 +0000 UTC"
Jul 31 13:22:21 k3s-init k3s[842]: time="2025-07-31T13:22:21Z" level=warning msg="dynamiclistener [::]:6443: no cached certificate available for preload - deferring certificate load until storage initialization or first client re>
Jul 31 13:22:21 k3s-init k3s[842]: time="2025-07-31T13:22:21Z" level=info msg="Active TLS secret / (ver=) (count 10): map[listener.cattle.io/cn-10.43.0.1:10.43.0.1 listener.cattle.io/cn-127.0.0.1:127.0.0.1 listener.cattle.io/cn-1>
Jul 31 13:22:21 k3s-init k3s[842]: time="2025-07-31T13:22:21Z" level=info msg="Password verified locally for node k3s-init"
Jul 31 13:22:21 k3s-init k3s[842]: time="2025-07-31T13:22:21Z" level=info msg="certificate CN=k3s-init signed by CN=k3s-server-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:21 +0000 UTC"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="certificate CN=system:node:k3s-init,O=system:nodes signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 >
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="certificate CN=system:kube-proxy signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:22 +0000 UTC"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="certificate CN=system:k3s-controller signed by CN=k3s-client-ca@1753968140: notBefore=2025-07-31 13:22:20 +0000 UTC notAfter=2026-07-31 13:22:22 +0000>
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Module overlay was already loaded"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=warning msg="Failed to load kernel module nf_conntrack with modprobe"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=warning msg="Failed to load kernel module br_netfilter with modprobe"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=warning msg="Failed to load kernel module iptable_nat with modprobe"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Module iptable_filter was already loaded"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=warning msg="Failed to load kernel module nft-expr-counter with modprobe"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=warning msg="Failed to load kernel module nfnetlink-subsys-11 with modprobe"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=warning msg="Failed to load kernel module nft-chain-2-nat with modprobe"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Set sysctl 'net/ipv4/conf/default/forwarding' to 1"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_max' to 262144"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=error msg="Failed to set sysctl: open /proc/sys/net/netfilter/nf_conntrack_max: no such file or directory"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_established' to 86400"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=error msg="Failed to set sysctl: open /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established: no such file or directory"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_close_wait' to 3600"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=error msg="Failed to set sysctl: open /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close_wait: no such file or directory"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Set sysctl 'net/ipv4/conf/all/forwarding' to 1"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Logging containerd to /var/lib/rancher/k3s/agent/containerd/containerd.log"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Running containerd -c /var/lib/rancher/k3s/agent/etc/containerd/config.toml"
Jul 31 13:22:22 k3s-init k3s[842]: time="2025-07-31T13:22:22Z" level=info msg="Polling for API server readiness: GET /readyz failed: the server is currently unable to handle the request"
Jul 31 13:22:23 k3s-init k3s[842]: time="2025-07-31T13:22:23Z" level=info msg="containerd is now running"
Jul 31 13:22:25 k3s-init k3s[842]: time="2025-07-31T13:22:25Z" level=info msg="Connecting to proxy" url="wss://127.0.0.1:6443/v1-k3s/connect"
k9s
Kubernetes CLI 以时尚的方式管理您的集群!
https://k9scli.io/
https://github.com/derailed/k9s
特征
- 信息触手可及!
- 跟踪 Kubernetes 集群中运行的资源的实时活动。
- 标准还是 CRD?
- 处理 Kubernetes 标准资源以及自定义资源定义。
- 集群指标
- 跟踪与 pod、容器和节点等资源相关的实时指标。
- 欢迎高级用户!
- 提供标准集群管理命令,如日志、扩展、端口转发、重启……
- 定义您自己的命令快捷方式,以便通过命令别名和热键快速导航。
- 插件支持扩展 K9s 来创建您自己的集群命令。
- 强大的过滤模式允许用户深入了解并查看与工作负载相关的资源。
- 错误缩放
- 直接深入了解集群资源出了什么问题。
- 可换肤且可定制
- 通过 K9s 皮肤定义您自己的外观和感觉。
- 自定义/安排每个资源要显示的列。
- 窄还是宽?
- 提供切换按钮来查看最小或完整的资源定义
- 多资源视图
- 通过脉冲和 XRay 视图提供集群资源的概览。
- 我们已经掌握了您的 RBAC!
- 支持查看集群/角色等 RBAC 规则及其相关绑定。
- 反向查找以断言用户/组或 ServiceAccount 可以在您的集群上执行的操作。
- 内置基准测试
- 您可以直接从 K9s 对 HTTP 服务/pod 进行基准测试,以查看应用程序的运行情况并相应地调整资源请求/限制。
- 资源图遍历
- K9s 提供了对 Kubernetes 资源及其相关资源的轻松遍历。
安装
K9s 可在 Linux、macOS 和 Windows 平台上使用。
- Linux、Windows 和 Mac 的二进制文件以 tarball 的形式在发布页面上提供。
Linux
# Via LinuxBrewbrew install derailed/k9s/k9s# Via aptwget https://github.com/derailed/k9s/releases/latest/download/k9s_linux_amd64.deb && apt install ./k9s_linux_amd64.deb && rm k9s_linux_amd64.deb# Via PacManpacman -S k9s
Windows
# Via scoop
scoop install k9s
# Via chocolatey
choco install k9s
MacOS
# Via Homebrewbrew install derailed/k9s/k9s# Via MacPortsudo port install k9s
附:brew方式-适用于Mac和Linux
The missing package manager for macOS (or Linux)
https://brew.sh/
https://github.com/Homebrew/brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
==> This script will install:
/home/linuxbrew/.linuxbrew/bin/brew
/home/linuxbrew/.linuxbrew/share/doc/homebrew
/home/linuxbrew/.linuxbrew/share/man/man1/brew.1
/home/linuxbrew/.linuxbrew/share/zsh/site-functions/_brew
/home/linuxbrew/.linuxbrew/etc/bash_completion.d/brew
/home/linuxbrew/.linuxbrew/HomebrewPress RETURN/ENTER to continue or any other key to abort:
[sudo] d 的密码:
==> /usr/bin/sudo /bin/chown -R d:d /home/linuxbrew/.linuxbrew/Homebrew
==> Downloading and installing Homebrew...
==> Updating Homebrew...
Warning: /home/linuxbrew/.linuxbrew/bin is not in your PATH.Instructions on how to configure your shell for Homebrewcan be found in the 'Next steps' section below.
==> Installation successful!==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).==> Homebrew is run entirely by unpaid volunteers. Please consider donating:https://github.com/Homebrew/brew#donations==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:echo >> /home/d/.zshrcecho 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/d/.zshrceval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
- Install Homebrew's dependencies if you have sudo access:sudo apt-get install build-essentialFor more information, see:https://docs.brew.sh/Homebrew-on-Linux
- We recommend that you install GCC:brew install gcc
- Run brew help to get started
- Further documentation:https://docs.brew.sh
配置
- KUBECONFIG 环境变量指向多个文件
通过在 KUBECONFIG 环境变量中指定多个文件,可以临时将 KUBECONFIG 文件组合在一起,并在 kubectl 中使用。
如下,那么是在 kubeconfig 是在内存中做的合并:
export KUBECONFIG=~/.kube/k8s-config:~/.kube/k3s-config
- flatten通过管道输出到另外一个新文件
–flatten:将生成的 kubeconfig 文件扁平化为自包含的输出(用于创建可移植的
kubeconfig 文件)
kubectl config view --flatten > ~/.kube/config
apiVersion: v1
clusters:
- cluster:certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTlRRNU9ETTFPRFV3SGhjTk1qVXdPREV5TURjeU5qSTFXaGNOTXpVd09ERXdNRGN5TmpJMQpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTlRRNU9ETTFPRFV3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFSUk1EOWJVSFZHQys5QTdxOFdEQXFMZ3N6QUUxTzVIZjMyUXVIYjI0TWsKZDVBWHU5SnVGVlViTWRCNG9IejJUczFBeW53VmNvdU81Q0dhc3V0RnlDcWNvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVUpnWngrOVFwSnNoOXNubm03Z2swClpIcXF1RDB3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUtFTlM2aWdnalZkdkhnWmhSdm1mOGg0RnhwZU00V3IKT0ZuR2hTUFE5dHRYQWlBVW9Ta0h1bHBWeitMV0ZpLzU0M29ETm92ZDY4cGtiTHI5b0ZQTG10WElDZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0Kserver: https://192.168.143.254:6443name: k3s
- cluster:certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJSzJBR0JRUGlCK2d3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBMk1UUXdOREV6TkROYUZ3MHpOVEEyTVRJd05ERTRORE5hTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURDdjZ1a2NKT0xjM2llZHBwREErT2p2eGdQZTRVZWQ1S2EyZ1FJbEo5M1FieTJiRWlJQllzNmQ4UXgKQmMyUFNtc2pxcmk0RnhXZm10MCtmeDNiUHpLMlBpMklEa3c2dGRnSy9TaGp1bzdhTVBtU25HK09rNmRLRGNrcQphL0VNVEtIZkFZY3lLSG4zYThwYjJTZnFGTnZiMm5oMmRkWWRUWTFGSGw1TjdXNFpKU2JiZlovdkt4cGdhb1lLCnhkMDlxMU03cG9mNkN2MjFSYklqU1h4YXg2WnJrSGpVcmR6SlVLSjJWZytEUm53cFIyTUxQN1E0MC9oYXl0VEwKVjN4UHNpZU9JRUpFTjBaTkc5R0pTNUlpeElYdFJLaW95ajhDTCt2MTJBSW4zSXoxYUdDTmVCaFRsb2x6aEJYQQpEeWlRSzhrS2o2ODZUbXRJLzJDSW9JcDFpV2FWQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJSVllOQ3g3TnZSSkxiQkZRaHRZS1UrY1QveW9EQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQWRBaHdaNGpDTApTVWRtKzNYR1k4c2g4b29KYWwrNlI1TDM2aEk3Z3B2VUtIU21WM0U2YXV2RVl2RXRiR3ZTRDV1V0Z6bnB2RmtmCjRVcVRsUU54SGNjTkovQW5CV0Y1N2JzTFJrNWE4OGpMcEtBZkpMZWRQaHBleFdndzJVV3pDdURxbnZrMWlPRGYKOVRvUndDajBUQ1pyeGVvNWFPTmhnbzdRODY0SFIwQldwQWU0eW1Bd3V4YWhFNVhvYWZaVFR1N211T0ZSeWNtRwpZc2ZLSmphdTJsbjQrOEFkb016VXQ2NnA1WmM3LytQdjJCZzh6TGFMWVVlVk04T3hPaDdiR0Jyekh6UFUvTnRGCmdHUFkxZnRmYU9jeGNrTUphRTBkakFhZkxSbWZBN2xWQjBnNFhlbjRDa2xXaEtlTEdrQkdhcE5LaDdFSWtrcHoKYWRNa2tXT2Q3bXhaCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0Kserver: https://lb.kubesphere.local:6443name: k8s
contexts:
- context:cluster: k3suser: k3s-adminname: k3s
- context:cluster: k8suser: k8s-adminname: k8s
current-context: k8s
kind: Config
preferences: {}
users:
- name: k3s-adminuser:client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrRENDQVRlZ0F3SUJBZ0lJY2NnNjZpbDduRWN3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOelUwT1Rnek5UZzFNQjRYRFRJMU1EZ3hNakEzTWpZeU5Wb1hEVEkyTURneApNakEzTWpZeU5Wb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJLZUhnZHlHOHo4UzYvSUUKUi9YeDdMZEtjUFROSldiUVVpbmtmNit2WUhWVytNRm9YaC9hUnMzMjdWS3dpSmlkSERvMEE2ZjZpWCtHcTlrVgp1eUhVVTRhalNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVDF5RDJqQzJjWDZFQXJzY1dkd0N2cnJ6YjRJekFLQmdncWhrak9QUVFEQWdOSEFEQkUKQWlCQmlCaTcyQ1dSNVFPNGJ5WjgvMW91b2FCOTAxRzFCNnFrb0xFY1h3Z2J0QUlnRSszNXBBZkhHMmFrSHNrUwpBWHA0VlNoWWVEc3ZnMWhlczhLeTRsQ2J3WHM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTlRRNU9ETTFPRFV3SGhjTk1qVXdPREV5TURjeU5qSTFXaGNOTXpVd09ERXdNRGN5TmpJMQpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTlRRNU9ETTFPRFV3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFUSWc1dk5Ddnh6aTNFM1RmSWExanBmM2l1V05UZW40b002c3dJOXp1YnkKNklDL0RvVTdtemlrcDNuYndGRmN3V2p5ZmZCMy94SFVGYnpDMTFPd0xRQnRvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTljZzlvd3RuRitoQUs3SEZuY0FyCjY2ODIrQ013Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU1BQ2VIaklqM202K0czb1NOY00ybllLWjVZWDlRcWgKUG03S000UlhJSDJUQWlFQTVZVWM1eTgrTVlXMDQwTTVzUTJSTFR0dFQyK3BWeUltNE5zQU8yMUNPdk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0Kclient-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUNZRlFUZC9CemMzUyttVHBjaWQxSkxaVTYxMnBUeFlieks4eDVTWXlTMm5vQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFcDRlQjNJYnpQeExyOGdSSDlmSHN0MHB3OU0wbFp0QlNLZVIvcjY5Z2RWYjR3V2hlSDlwRwp6ZmJ0VXJDSW1KMGNPalFEcC9xSmY0YXIyUlc3SWRSVGhnPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
- name: k8s-adminuser:client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJUW9xbVpCa044UFV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBMk1UUXdOREV6TkROYUZ3MHlOakEyTVRRd05ERTRORE5hTUR3eApIekFkQmdOVkJBb1RGbXQxWW1WaFpHMDZZMngxYzNSbGNpMWhaRzFwYm5NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5CmJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDM1JNNmkKSndhNjlXRUlvOXZlZnVjYWVKTzRkbzZEUEoyb1lGTm5JVFVKbjlXcjZ2SzI4aDlEV2cwNjdtSVIvUWNUL3dxYQpMd3l6R1g4YVZwOExabXlIL3hkVWhLM1loL0VYTThkU2s2V3U5TzgyVWpFL0ZBanBrajNYbDlqTHdRR3pSMUhNCmtQT2Rpam52MzVmTkY3bkhSYWVzcHNia1YySzNuUk5wV0hYRld5dWJrY1pINzFwdFFldUNCdGkrZVZPcHJkaWEKbU9uVGRFcUNBaEd0YUVNbGhTKzJkamw1Y3VaUkJDSnRMM20wK3JkNnBLQ0xUREJ3UXBudTVYNFY0NVZDdURyYgpFbHAyd3NrU21xV1J0S2N4OHEvTEo3elloQzF3djhtK0F6SUYyOXBOaFF5Z0NCQm45S2RlNEU3V3poMkIzNTluCkEwcGREbm5QTVljd3RoUWhBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRkZWZzBMSHMyOUVrdHNFVgpDRzFncFQ1eFAvS2dNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFyLzR3UFZWWGRUS0xiclZtU2FwUVFxcWdaCkc1Sk5qOW5jMUFnVkkrWFlNZ0piYjRGcVpOdStSNlYyK3hNdmpwYjRYRWUzY3ppQzhGMHFpbzlEMDFHZHNMZ2wKOWd1ZjIvbFpnY2s3bjRscU1CT3luNTV1RjVWcHh2UlRzamt3N0FQTkRick15QUR6V1YxZXhINlFDUVBNQjExQgprcVlGQlU2R1p1S20zRGJ6NzBGU21ra3dsT3lPMDJ3VytHZTRUYmE1RUNuTU5wY0JBVkRxbHhpeDZlTUdYVGx2CjVMQ0VqSXVIU05mVmxJMjRua2hIZFZrK0t1aFowUWEvaVIrbnZJbThRSWhJNElleTRBL2k3d05qTVRuMHVpelEKRExLeWJlOVVvUUh6RnR0TlArS1hVd0grU21GVmR0aE5oTk0zRjFEMFFCd2dJY3JVRnJuNGJNb01TeHJxCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0Kclient-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBdDBUT29pY0d1dlZoQ0tQYjNuN25HbmlUdUhhT2d6eWRxR0JUWnlFMUNaL1ZxK3J5CnR2SWZRMW9OT3U1aUVmMEhFLzhLbWk4TXN4bC9HbGFmQzJac2gvOFhWSVN0MklmeEZ6UEhVcE9scnZUdk5sSXgKUHhRSTZaSTkxNWZZeThFQnMwZFJ6SkR6bllvNTc5K1h6UmU1eDBXbnJLYkc1RmRpdDUwVGFWaDF4VnNybTVIRwpSKzlhYlVIcmdnYll2bmxUcWEzWW1wanAwM1JLZ2dJUnJXaERKWVV2dG5ZNWVYTG1VUVFpYlM5NXRQcTNlcVNnCmkwd3djRUtaN3VWK0ZlT1ZRcmc2MnhKYWRzTEpFcHFsa2JTbk1mS3Z5eWU4MklRdGNML0p2Z015QmR2YVRZVU0Kb0FnUVovU25YdUJPMXM0ZGdkK2Zad05LWFE1NXp6R0hNTFlVSVFJREFRQUJBb0lCQUg2aFVYRmpLOWhVb2ZaWgpXaHVUYmRXeGlNaEZTdFZOTmRaWXNHZ3EzcjNHcmRuN0hqZmdkaytRVW1Ic3d1Q1JCNm4rYUhIK25uVEY0amZ0CnNEa3RUVUp1dE0wV1hCU29ZYUpaaVpqNklkb1FyWlRJRi9Ud3YvTzdzM1ZiRzFZMkJ4bTc1cjVGVGI4RittQlAKQzFHUDJqTGhZeWo5bDZIQTY1blpNOGR2Y3Zpb2lRczBwZHpGU3NTbDVpN3FuMU9RdjhrQzYyZGtWNW1pRWQyZQpQbiswa0QxNS9JNDZpR29TWitFU3hJZlRQMlFVTUd3a1ZkUzBSSWI5N01uTnE3cUg1cVlrQ1dtSXRDb2RuM1AzCjhwdzduK3VBV3M2amNFMHl2QjdLa0xaSUFaTHQvVnF6OWlhL09PSHVhT0hiRElEUCsxM0tuTkVtUHVJYzBLM0QKQXhaQlhFRUNnWUVBNk84ajVwV1MwK09ZQUQ1dURDZndBZnRldFZEZUMzNTZWRTQ2bTl1K28rWTZIS3FiaUtlUgpFaG4wdWxuU3lFYXVHenUvZXJsZWRtMUkrRVdlbGVhbXI0Tm8vZlROTzVOTDVOYjdXMGhnUGI3VzVYdVRxenNCCnRlK3lkSkhpaG5VU2Z3WEhyK2xKeUlOY2cxamZ0cFJHbmwxZ2ptS1JBM3BQMlBSSW11NnVLY2tDZ1lFQXlXcW4KaFQ4ajBjMEt4ZHpVNWY0NVMwdENPcHN6bk1yL1VBZW1DWHdDTUFHZXB6TzZDM0h2UzZVTnNLOEltVGM4OXZmeQpkaVIwbU5CVEIyZm1NckJPUGFsK3ZWKzhwcDFsN3hoamJIb1BacG1DbHJyWDZML1dJOWxHTDNvUGVUcUh5WjQ5ClZtbDZIdU53ZWx3VWxUc0FmK2cwSWp1dDIzS2N5SEtrTi8venc1a0NnWUVBNHBVczhQSHlYNWIybHRZanFrTjMKSGhaczdDYjd0MmFTakV1RWkzUFlJQXFsNEppOHJ0T0JOSUIzSklhWG1TWFgycm5sNnZWQ1JDVE9aR01rZm1CZApLRUhGOGJNZHFLUUJvVnJXS3RkZWR2R2FqS1FHNHZ1RkVIdFh0ampxaHl4K2ozMEozNzRvZlpuNmRmSVB1OFRFClpPd2tMcDBHdnNGTnhwYnB3WHdIZ3JFQ2dZRUFwd0VzRGF1Z3c2RER3Zk90QTFhYm92YXYzM0E0aDFVNkJOMlMKcW1LTVhjbTZCdUU0N2F4MndiNEZiKzV4cnJqQ2IvUitzYjdnZnFTZGM1S09xSkRQRHdtdThNNmsyWEhBeDFMdApmVkJuM0thRVJQNS9iNWxBc1ZEQ2hUTXNDVlNpcW1YdWJldmZPaVZUYWVGWG43VGdZUzNqckU3WGhSR3ZOZlQ0CmZRWlkxR0VDZ1lFQTZMTW96SVlERS84czVFTXIzSnVDb0VrUHNySFllZ1QzMFZWYm5jOTU1RnJMSGIvVmZVR0QKSkpxOWZoUVJzb3FnUlk4cm8vWUJaSEJ6Z2p4aTFZQ3RQRXhRNFpJbU81akgvOVc2YmhHN0tHYlp3MHdadG1zSQpXcW5mYTVkUmRMZlhpckNvOTZXSnplMDFkYXQvKzhkdisxU1Vxb0YvNlhyM21VdUpFMGJoSXdvPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- 设置别名
alias k9s8='k9s --context k8s'
alias k9s3='k9s --context k3s'
参考
https://ewhisper.cn/posts/46789/
https://ewhisper.cn/posts/48546/
https://www.baeldung.com/ops/k9s-kubernetes-cluster-management
https://popeyecli.io/