此文档用于记录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://<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缓存在启动
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内部服务。这里不做过多演示