【shell】利用k9s和config文件进入k8s集群脚本

1、需要自行安装k9s

2、config文件放在home的.kube隐藏文件夹下

shell 复制代码
#!/bin/bash

# define log & color
readonly FG_GREY="30"             #灰色
readonly FG_RED="31"
readonly FG_GREEN="32"
readonly FG_YELLOW="33"
readonly FG_BLUE="34"          #前景色蓝色
readonly FG_VIOLET="35"        #紫色
readonly FG_SKY_BLUE="36"
readonly FG_WHITE="37"

readonly BG_RED="41"
readonly BG_GREEN="42"
readonly BG_YELLOW="43"
readonly BG_BLUE="44"
readonly BG_VIOLET="45"
readonly BG_SKYBLUE="46"
readonly BG_WHITE="47"

readonly LOG_DEBUG="[调试]"
readonly LOG_INFO="[信息]"
readonly LOG_WARN="[警告]"
readonly LOG_ERROR="[错误]"

function debug()
{
    echo -e "\033[${FG_WHITE}m${LOG_DEBUG}\033[0m $1"
}
function info(){
    echo -e "\033[${FG_GREEN}m${LOG_INFO}\033[0m $1"
}
function infoText(){
    echo -en "\033[${FG_GREEN}m $1 \033[0m"
}
function warn()
{
    echo -e "\033[${FG_YELLOW}m${LOG_WARN}\033[0m $1"
}
function error()
{
    echo -e "\033[${FG_RED}m${LOG_ERROR}\033[0m $1"
}
function coloredLog()
{
    echo -e "\033[$1;$2m $3\033[0m"
}

function main() {
    order=1
    configs=$(ls -l ~/.kube/ |grep -v 'total'|awk '{print $9}')
    for config in ${configs};do
      infoText ${order} && echo -e ${config}
      let order+=1
    done
    echo -en "\033[${FG_GREEN}m${LOG_INFO}\033[0m please choose config:"
    read choostOrder

    order=1
    for config in ${configs};do
      if [[ ${order} == ${choostOrder} ]]; then
        info "chose  ${choostOrder}, use config ${config}"
        cd && echo $(pwd) && echo "exec k9s -A --kubeconfig=.kube/${config}"
        k9s -A --kubeconfig=.kube/${config}
	break
      fi
      let order+=1
    done
    
}

main

使用效果:

相关推荐
Patrick_Wilson7 小时前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
阿里云云原生9 小时前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生15 小时前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭17 小时前
运行你的第一个Docker容器
后端·docker·容器
Java之美17 小时前
从edge-trigger到level-trigger,谈谈 Kubernetes controller 的开发范式
云原生
阿里云云原生1 天前
深度解构:当 Append-only 的 SLS 遇上 Update/Delete,是如何实现设计权衡的?
云原生
Java之美2 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
秋播2 天前
nerdctl推送rancher本地镜像到harbor
云原生
程序员老赵2 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程