一个伪linux粉丝的blog

  1. 首页
  2. network
  3. 正文

k8s multi cluster management with kubeconfig

8 9 月, 2020 908点热度 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
最后更新:10 9 月, 2020

wanjie

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

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

This site uses Akismet to reduce spam. Learn how your comment data is processed.

归档
分类
  • network / 332篇
  • Uncategorized / 116篇
  • unix/linux / 121篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 21篇
  • 英语学习 / 3篇
标签聚合
deepseek Google Voice Ubuntu Nginx squid 天翼live gitlab d90 邮件归档 jira 泰国 postgres 浏览器 网站运营 wget nexus openssl kubectl VPS k8s ldap Google dreamhost kernel docker debian dreamhost空间 ssh google-chrome 虚拟主机

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

Theme Kratos Made By Seaton Jiang