一个伪linux粉丝的blog

  1. 首页
  2. network
  3. 正文

k8s multi cluster management with kubeconfig

9月 8, 2020 527点热度 0人点赞 0条评论

1. 背景

有客户咨询如何在集群外通过kubectl命令行访问 公司平台产品集群(ps. 有特殊端口),正好有同事写过一篇《配置集群外访问某产品集群》,我这边测试后,参考了k8s官网文档《配置对多集群的访问》,2者做了一些结合,于是有此实践文档。

2. 步骤

2.1. 准备kubectl命令

下载kubectl 并保存至 /usr/local/bin, 以下命令在终端中执行
# curl 下载 kubectl ,以下3行 分别是 linux、mac 、windows版本
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl /usr/local/bin
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/darwin/amd64/kubectl /usr/local/bin
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/windows/amd64/kubectl.exe
# chmod 更改文件权限
chmod 755 /usr/local/bin/kubectl

2.2. 准备 config 文件

vi ~/.kube/config,输入以下内容并保存

apiVersion: v1
clusters:
- cluster:
server: 10.10.*.*:28081
name: hd1
- cluster:
server: 172.16.*.*:48081
name: hl0
- cluster:
server: 10.22.*.*:38081
name: l0
contexts:
- context:
cluster: hd1
user: ""
name: hd1
- context:
cluster: hl0
user: ""
name: hl0
- context:
cluster: l0
user: ""
name: l0
current-context: hd1
kind: Config
preferences: {}
users: []

可以看到,我分别添加了3个集群:

10.10.*.* 网段的产品版本  3.0.8,对应名字为  hd1, 对应上下文相同hd1

172.16.*.* 网段的 产品版本3.1.4,对应名字为  hl0, 对应上下文相同hl0

以及10.22.*.* 网段的 产品版本 4.0.1,对应名字为 l0, 对应上下文相同 l0

2.3. 开放主机端口

在对应的3个机器上分别执行

iptables -t nat -I PREROUTING -d 10.10.*.* -p tcp --dport 28081 -j DNAT --to 127.0.0.1:18081
iptables -t nat -I PREROUTING -d 172.16.*.* -p tcp --dport 48081 -j DNAT --to 127.0.0.1:18081
iptables -t nat -I PREROUTING -d 10.22.*.* -p tcp --dport 38081 -j DNAT --to 127.0.0.1:18081

  • iptables -t nat -I OUTPUT -d 10.10.*.* -p tcp --dport 28081 -j DNAT --to 127.0.0.1:18081  命令 备用,
    PREROUTING链:作用是在包刚刚到达防火墙时改变它的目的地址
    OUTPUT链:改变本地产生的包的目的地址
    POSTROUTING链:在包就要离开防火墙之前改变其源地址

2.4. 检查集群上下文

kubectl config get-contexts

2.5. 切换集群

我们来使用 kubectl 本地直连各种 产品版本 集群看看效果吧

2.5.1. 切换集群hd1

切换集群hd1,简单查看 default下的 pod
kubectl config use-context hd1
kubectl get po -n default

2.5.2. 切换集群hl0

切换集群hl0,同样简单查看 default下的 pod

2.5.3. 切换集群l0

切换集群l0,同样简单查看 default下的 pod

3个集群切换测试成功

3. 参考链接

https://kubernetes.io/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

 

ps,前面写了一个月后,居然一直是草稿未发布状态,今天正好看到一个管理工具 https://github.com/lensapp/lens,这里新增一张图吧,管理起来也挺有意思。

相关文章:

  1. "too many open files" from kubectl logs
  2. Building-Multi-architecture-Docker-Images-With-Buildx
  3. 基于Ubuntu Nginx Mongrel Mysql部署rails
  4. Container platform disk management solution
标签: kubeconfig kubectl config use-context lens
最后更新:9月 10, 2020

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

取消回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

归档
分类
  • network / 324篇
  • Uncategorized / 116篇
  • unix/linux / 114篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 20篇
  • 英语学习 / 3篇
标签聚合
Linux k8s dreamhost空间 网通 kernel jira Google Adwords Google Voice nexus Google 泰国 wget Opera Mini brew Nginx gitlab dreamhost docker VPS ldap Ubuntu d90 Android debian 刷机 邮件归档 虚拟主机 iMac 中国电信 网站运营

COPYRIGHT © 2008-2022 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang