dfz2VJ.jpg

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

此文档环境:

​ Kubernetes1.14.3 kubectl1.14.3 ktctl_0.0.13-rc7 windows7旗舰版

kt介绍

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

d2ZsPJ.png

特征

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

安装配置kubectl

安装kubectl

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

配置kubectl

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

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

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

安装配置kt

安装ktctl

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

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

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

使用ktctl

kt启动时要使用ssh.

执行命令:

1
$ sudo ktctl connect --method=vpn

访问集群内部服务:

1
2
3
4
5
6
#访问集群内服务
$ curl http://<POD_IP>:<PORT> #本地直接访问PodIP
$ curl http://<CLUSTER_IP>:<PORT> # 本地直接访问ClusterIP
$ curl http://<SVC_NAME>:<PORT> #使用Service的域名访问
$ curl http://<SVC_NAME>.<namespace_name>:<PORT> #本地访问带有命名空间的service
$ curl http://<svc_NAME>.<namespace_name>.svc.cluster.local:<port> #集群dns解析访问

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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