zoukankan      html  css  js  c++  java
  • 打通k8s、kuboard,实现更便捷的服务管理

    前言

    最近几天,我们一直都在和k8s打交道,前天分享了wsl搭建k8s集群的完整过程,昨天我们补充了一些k8s的基础命令,今天我们继续来介绍k8s,今天分享的就是我们昨天安利的k8s的管理工具kuboard。前面说,kuboard不能通过代理的方式访问,所以没法正常登录,但是今天我又看了下kuboard的官方文档,发现可以通过docker的方式运行kuboard,下面我们就看下具体如何操作。

    kuboard

    安装kuboard

    我们直接打开wsl,启动docker服务,然后在docker中安装kuboard,开始前建议你先拉取kuboard的镜像,具体命令如下:

    # 拉取kuboard镜像
    docker pull eipwork/kuboard:v3
    # 启动kuboard
    sudo docker run -d 
      --restart=unless-stopped 
      --name=kuboard 
      -p 80:80/tcp 
      -p 10081:10081/tcp 
      -e KUBOARD_ENDPOINT="http://内网ip:80" 
      -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" 
      -v /root/kuboard-data:/data 
      eipwork/kuboard:v3
    

    大家注意下面启动命令中的内网ip,根据官方文档说明,这个ip不建议使用 127.0.0.1 或者 localhost ,所以我用的ip地址是127.0.0.2,你可以和我保持一致

    然后运行上面的脚本,建议将上面的脚本存储成sh脚本,方便后续启动使用,这是我的sh脚本内容:

    测试

    启动成功后,我们可以在wsl控制台通过如下命令测试kuboard启动是否成功:

    curl 127.0.0.2:80
    

    这里的127.0.0.2就是我们前面配置的内网ip,如果启动正常,应该会返回这样的内容:

    这时候如果你curl 127.0.0.1:80也是可以正常返回的,而且返回内容和上面的是一样的:

    到这里kuboard就启动成功了,这时候我们就可以在windows的浏览器中通过127.0.0.1:80访问kuboard

    默认的登录信息如下:

    • 用户名: admin
    • 密 码: Kuboard123

    第一次访问因为我们还没有添加k8s集群信息,控制台是没有任何数据展示的,所以我们要先添加k8s集群

    添加k8s配置

    点击添加集群,然后填入集群信息,点击确认:

    然后复制下面的命令,先复制第一行:

    k8s集群的集群上执行:

    curl -k 'http://127.0.0.2:80/kuboard-api/cluster/wsl-k8s/kind/KubernetesCluster/wsl-k8s/resource/installAgentToKubernetes?token=BpLnfgDsc2WD8F2qNfHK5a84jjJkwzDk' > kuboard-agent.yaml
    

    这里其实就是生成了一个探针文件,然后我们需要把这个探针文件导入到k8s中,在导入之前我们需要先修改下这个yaml文件:

    vim kuboard-agent.yaml
    

    在文件中找到KUBOARD_ENDPOINTKUBORAD_AGENT_HOST,把下面的value中的ip改成我们wsldocker的地址,具体如何获取,后面有说明。

    KUBOARD_ENDPOINTKUBORAD_AGENT_HOST有两处,都要修改,否则在创建探针服务的时候会报错,创建探针服务的命令如下,也就是页面上的第二行命令:

    kubectl apply -f kuboard-agent.yaml
    

    如果不修改上面的地址,回报下面的错,也就是获取TOKEN的时候,地址访问不到:

    为什么要改成docker的地址,因为我们的kuboard部署在dokcer环境下,下面我们看下如何查看wsl环境下dockerip地址。

    查看wsl的docker内网ip

    因为wsl默认是不支持ifconfig命令的,我们可以使用下面的命令看下linux主机的ip:

    ip addr
    

    在显示结果中,找到docker0网卡,其中的ip地址就是我们需要的ip,如下图,我的docker ip172.18.0.1

    然后把kuboard-agent.yaml修改后,重新执行创建命令:

    kubectl apply -f kuboard-agent.yaml
    

    再次访问kuboard,你会发现我们的集群已经导入成功:

    这时候,我们在面板的右侧选择管理角色后,就可以进入我们的k8s集群管理中心了:

    到这里我们今天的内容就结束了,关于kuboard的使用,我们下次再说。

    总结

    今天,我们主要分享了如何通过kuboard来管理我们wsl环境下的k8s集群,过程还算顺利,之前无法访问是因为windows的网络与k8s集群无法通信,所以我们无法通过浏览器直接访问k8s中的应用,现在我们把kuboard部署在docker中,这个问题自然而然就解决了。至于网络无法互通的问题,我打算通过nginx来解决,这块的问题一定要解决,否则我们只能通过代理的方式来访问,但问题是有些服务还不支持代理访问,比如kuboard,这两天有时间先试下,如果搞定了,到时候再来分享。

    kuboard作为一款k8s管理工具,单从UI层面来说,已经比官方提供的board优秀了很多,当然主要是kuboard本身就很优秀,截至到目前,这个项目github已经有10K+start,有兴趣的小伙伴可以自己先去了解下,我们后面再将kuboard的一些基本用法。

  • 相关阅读:
    根据第三方库spire.pdf使用指定打印机打印pdf文件
    大批量GPS坐标转百度坐标
    maven settings.xml
    linux 权限
    hyper-v 创建ubuntu虚拟机设置静态ip
    mysql 复制
    nginx
    python函数定义
    Mysql索引浅析
    Mysql 数据库锁机制浅析
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/14945945.html
Copyright © 2011-2022 走看看