pkslow.com 南瓜慢说

  • AllArticles
  • Container
  • Spring
  • Life
  • Cloud
  • Collections
  • About
  • GitHub

  • Search
Terraform101 English Terraform Middleware config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac Plan Stream MongoDB Spring DevOps JVM String Map Set List Performance Email Springboot JavaCollections ArrayList Java

如何在GCE访问GKE中的TCP服务

Created on: 2021-05-03 | Category: Container | 0 | View: 437

问题描述

在GKE需要部署service,它是以TCP端口对外暴露服务的,而不是HTTP协议。而GCE不中集群内,所以无法直接访问。

解决方案

我们以PostgreSQL为例,假设要在GKE中安装PostgreSQL,而在GCE中的Linux VM可以访问。首先,需要把PostgreSQL暴露出来,可以通过NodePort类型的服务,也可以通过LoadBalancer类型的服务。用LoadBalancer的方式更合适,然后就可以通过它外部IP访问服务了:ExternalIP:5432。

因为IP是会变动的,所以可以创建一个Cloud DNS的方式来绑定。

在GKE的集群中,我们基本都会安装Nginx-Ingress,而它的服务就是LoadBalancer的类型,所以可以通过Ingress-Controller的方式来访问PostgreSQL,关键是让Nginx可以做端口转发。通过配置Ingress的TCP ConfigMap就可以,具体可参加:把H2数据库从jar包部署到Kubernetes,并解决Ingress不支持TCP的问题。

过程中的连接问题,要检查NetworkPolicy和Firewall等。


Code for all: GitHub

欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

file

Recommendations:
Cloud Native
Terraform
Container: Docker/Kubernetes
Spring Boot / Spring Cloud
Https
如何制定切实可行的计划并好好执行

  • Author 作者: LarryDpk 南瓜慢说
  • Link 链接: https://www.pkslow.com/archives/gce-access-tcp-in-gke
  • 版权声明: 本博客所有文章除特别声明外,不可转载!
# Terraform101 # English # Terraform # Middleware # config # Go # Private # Kubernetes # pkslow # Test # HTTPS # Redis # Docker # Mac # Plan # Stream # MongoDB # Spring # DevOps # JVM # String # Map # Set # List # Performance # Email # Springboot # JavaCollections # ArrayList # Java
Terraform101 English Terraform Middleware config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac Plan Stream MongoDB Spring DevOps JVM String Map Set List Performance Email Springboot JavaCollections ArrayList Java
VSCode巧妙使用正则替换提高效率
在Ubuntu用Minikube安装Kubernetes
  • Contents
  • Site Overview
南瓜慢说

南瓜慢说

多年Java开发,主要专注后端技术:Java/Spring/Springboot/微服务/大数据等。

多读书,多分享;多写作,多整理。

241 Posts
9 Categories
30 Tags
RSS
0%
© 2020 — 2022 南瓜慢说 pkslow The WebSite keeping alive:   粤ICP备20036375号