kubernetes - 使用 Google Cloud Code ItelliJ 时如何让 Google Kubernetes Engine LoadBalancer Service 接收外部流量?
问题描述
我有一个在端口 80 上提供内容的工作 GKE 集群。如何让负载均衡器服务在外部(区域保留)静态 IP 111.222.333.123 上提供内容?
我看到kubectl get service
表明外部静态IP注册成功。外部 IP 确实响应 ping 请求。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.16.0.1 <none> 443/TCP 17h
myapp-cluster NodePort 10.16.5.168 <none> 80:30849/TCP 84m
myapp-service LoadBalancer 10.16.9.255 111.222.333.123 80:30879/TCP 6m20s
此外,Google Cloud Platform 控制台显示转发规则已建立并正确引用 GKE 目标池。
我正在使用的部署和服务清单如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 2
selector:
matchLabels:
app: myapp
environment: sandbox
template:
metadata:
labels:
app: myapp
environment: sandbox
spec:
containers:
- name: myapp
image: myapp
imagePullPolicy: Always
ports:
- containerPort: 8080
restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
name: myapp-service
spec:
selector:
app: myapp
environment: sandbox
ports:
- port: 80
targetPort: 8080
type: LoadBalancer
loadBalancerIP: "111.222.333.123"
相关的 skaffold 配置文件供参考:
apiVersion: skaffold/v2beta18
kind: Config
metadata:
name: myapp
build:
artifacts:
- image: myapp
context: .
docker: {}
deploy:
kubectl:
manifests:
- gcloud_k8_staticip_deployment.yaml
使用 Google Cloud Code 运行此配置时,我缺少什么以允许流量到达 GKE 集群?
抱歉,如果以前有人问过这个问题。如果我错过了复习问题的正确解决方案,我很乐意提供指点。
解决方案
推荐阅读
- javascript - 如果曾孙数组为空,则从对象中删除数组
- excel - 根据前两列生成第三列序号
- jenkins - Jenkins 代理在 Gradle 构建期间内存不足导致 hudson.remoting.RequestAbortedException
- types - 当参数的类型是联合类型时,确定 Racket 中参数的具体类型
- c++ - 为什么 C++ 编译器没有检测到正确声明的类?
- python - 在基于文本的 RPG 中出现大量文本后输入错误的语法错误
- java - Eclipse java.lang.module.FindException 和 java.lang.ClassNotFoundException
- c# - 如何使用存储库模式模拟 MongoDB 数据访问层?
- c# - C# - 无法识别右括号
- validation - Vuepress - 任何编译/批量验证页面降价内容的方法?