1. 应用场景说明

- 我们需用k8s集群提供开放特别的端口访问服务,如一些微服务端口

- 在团队开发环境中,通常要访问公共数据库,集群需提供统一的接口给大伙

接下来以实践四中设置的mariadb-galera为基础,公开端口3306,并用db.k8s-t2.com访问

2. 步骤

2.1 准备工作

编辑客户端 hosts, 填入

2.2 配置values.yaml

去到ingress-nginx的解压目录,编辑values.yaml,约在 884行,其中的default/my-release-mariadb-galera是数据库服务的名称

#tcp: {}
#  8080: "default/example-tcp-svc:9000"
=>
tcp:
  3306: "default/my-release-mariadb-galera:3306"

 更新

 可观察到3306端口已被监听,如图:香橙派4和树莓派4B构建K8S集群实践之五:端口公开访问配置-LMLPHP

可用ip:3306在navicat访问数据库

香橙派4和树莓派4B构建K8S集群实践之五:端口公开访问配置-LMLPHP

 

3. 遇到的问题

4. 参考

Ingress Exposing TCP Services · Mailazy Blog

Access or Expose MySQL/MariaDB Service from outside of Kubernetes Cluster – Vinay's IT Press

05-18 00:56