mac下使用kt-connect访问k8s集群内部服务

此文档用于记录mac下kt的安装配置

此文档环境:

​ Kubernetes1.14.3 kubectl1.14.3 ktctl_0.0.13-rc7

kt介绍

更有效地管理和与您的Kubernetes开发环境集成。详细文档访问链接,项目地址访问github

特征

  • 连接:直接访问远程Kubernetes集群。KT Connect sshuttle用作访问远程Kubernetes集群网络的vpn工具。
  • 交换:开发人员可以交换工作量以将请求重定向到本地应用程序。
  • 网格:您可以在本地主机中创建网格版本,然后重定向到本地
  • 仪表板:仪表板视图可以帮助您了解环境的使用方式。

安装配置kubectl

安装kubectl

  • 下载kubectl
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.3/bin/darwin/amd64/kubectl
  • 添加可执行权限并移动到PATH路径
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/
  • 执行命令查看已安装的 kubectl 版本号
$ kubectl version

配置kubectl

  • 将kubectl config文件存放在/.kube/下。代表当前的用户目录

创建~/.kube文件夹,将master上的config文件拉取到本地, 存放在~/.kube/文件夹下

  • 验证配置结果
$ kubectl get nodes
$ kubectl get pods -n kube-system

安装配置kt

安装ktctl

  • 安装sshuttle(启动时需要)
$ brew  install sshuttle
  • 下载ktctl

从此链接中下载ktctl的可执行文件

$ wget https://github.com/alibaba/kt-connect/releases/download/v0.0.13-rc9/ktctl_0.0.13-rc9_darwin_amd64.tar.gz
  • 将ktctl添加到PATH环境变量
$ tar -zxvf ktctl_0.0.13-rc9_darwin_amd64.tar.gz
$ mv ./ktctl /usr/local/bin/
  • 执行命令查看已安装的ktctl版本号
$ ktctl -v

使用ktctl

kt启动时要使用ssh.

执行命令:

$ sudo ktctl connect --method=vpn

访问集群内部服务:

#访问集群内服务
$ curl http://: #本地直接访问PodIP
$ curl http://: # 本地直接访问ClusterIP
$ curl http://: #使用Service的域名访问
$ curl http://.: #本地访问带有命名空间的service
$ curl http://..svc.cluster.local: #集群dns解析访问

如果启动后无法访问集群内部服务,先清理一下dns缓存在启动

Mac OS X 12 (Sierra) and later:
sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper
sudo dscacheutil -flushcache

Mac OS X 11 (El Capitan) and OS X 12 (Sierra):
sudo killall -HUP mDNSResponder

Mac OS X 10.10 (Yosemite), Versions 10.10.4+:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

有兴趣的可以在浏览器上安装swichyomeaga代理插件,可以直接在web端访问kubernetes内部服务。这里不做过多演示

参考链接

官方文档

github

你可能感兴趣的:(mac下使用kt-connect访问k8s集群内部服务)