• 开发
  • kubesphere 二次开发后端调试环境搭建

就像Jeff说的那样 你ctrl c以后 telepresence会自动清理pod并且把原来的deploy调整到应有的副本数 你应该是意外退出了那个进程 导致没有被还原 如果这样 可以通过ps -ef把不要的进程kill掉 然后手动调整副本数
另外如果你不需要别的组件跟你沟通的话 可以直接 telepresence 然后在里面go run apiserver.go 这样你的这个进程也能连接到集群内的其他服务 你可以通过curl localhost:9090进行调试
centos安装telepresence的话 可以看看这个脚本

    Jeff
    哦(⊙o⊙)~感谢大佬,刚才按照你说的实践了一下,确实是因为我异常退出了,才造成这种状况
    异常退出时网真没有将deployment Swapping回去
    当我正常退出时

    非常感谢,我先把帖子修改下

    TinaSprunt hello, 我在使用telepresence时,通过kubectl logs 查看新创建的代理pod总是报下面的错误,你知道是什么原因吗?
    84.4 TEL | 2020-11-07T18:13:07+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 20.3.0 (/usr/bin/python3.6 3.6.8) starting up.
    84.4 TEL | 2020-11-07T18:13:07+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.epollreactor.EPollReactor.
    **84.4 TEL | 2020-11-07T18:13:38+0800 [Poll#error] Failed to contact Telepresence client:
    84.4 TEL | 2020-11-07T18:13:38+0800 [Poll#error] An error occurred while connecting: 99: Address not available.
    84.4 TEL | 2020-11-07T18:13:38+0800 [Poll#warn] Perhaps it's time to exit?
    84.4 TEL | 2020-11-07T18:14:08+0800 [Poll#error] Failed to contact Telepresence client:
    84.4 TEL | 2020-11-07T18:14:08+0800 [Poll#error] An error occurred while connecting: 99: Address not available.
    84.4 TEL | 2020-11-07T18:14:08+0800 [Poll#warn] Perhaps it's time to exit?**
    84.4 TEL | (Cleanup) Re-scale original deployment

      qd19zzx 把执行命令过程再描述一下吧 有没有更多的日志

      qd19zzx
      和yuswift说的一样,希望能提供更详细一点的信息,因为Failed to contact的可能原因太多了
      我出现这个问题的时候是kubesphere.yaml写错了,这个你不用网真直接本地运行一下go run ./cmd/ks-apiserver/apiserver.go看报不报错就知道了,如果本地运行直接报了error先检查各项配置文件

      9 天 后

      这个方法感觉有点麻烦啊,我是直接通过docker跑kubesphere/ks-console:v3.0.0,将配置文件中的apiserver地址改成本地代码地址,然后就可以直接调试了

        joey_chen 这个思路不错啊!不过还要解决连接集群内服务的问题,比如Ldap和redis。 我个人使用kubectl forward port, 不知 @joey_chen 有没有其他高招。是否可以写个教程分享一下啊?

          joey_chen
          是的呢,console代码只要改一下local_config.yaml指定后端ip:port,无论放哪里都可以,后端的kubesphere的代码比较麻烦,理想情况是console —>本地goland运行后端kubesphere —>远程k8s环境,这样不用搭网真代理,但是正版goland要钱啊……好悲伤

          joey_chen
          老铁,你用的本地运行kubesphere的IDE是goland吗,还是别的可以远程调试不要钱的,求安利

            RolandMa1986 我是在本地docker-desktop跑了个容器版K8S,然后部署了一套ks,在ks部署完以后,将redis、ldap等服务的svc改为nodeport,将配置文件复制一份放在/etc/kubesphere目录下,并修改redis等的地址,这样本地代码就可以跑起来了

            14 天 后

            本地测试必须用telepresence吗,我是写个接口,本地启动就报错redis host找不到

              9 个月 后

              写的太好了,困扰我好几年的问题终于解决了

              1 年 后

              lgy 前辈 你解决redis host找不到的问题了吗 :

                7 天 后

                hjy 可以将新建一个nodeport的redis的svc,yaml里面redis地址更改为暴露的svc