Kubernetes Ingress Controller GPC GKE 无法访问站点
Kubernetes Ingress Controller GPC GKE can't reach the site
Kubernetes Ingress Controller 无法访问站点
嗨,这是我第一次尝试使用 kubernetes 部署应用程序。我面临的问题是我希望能够使用我的 svc link 子域,但是当我尝试导航到 links 时,我得到
This site can’t be reached
我会解释我为这些所做的步骤,可能我有什么不对或遗漏的地方
我在google云平台上安装了ingress-controller
在 GCP -> 网络服务 -> 云 DNS
一个。我用 google dns
指向 testcompany.com
b。我创建了一条 A 记录,指向上一步“ingress-nginx-controller”
中的 public IP
我的服务清单
apiVersion: v1
kind: Service
metadata:
namespace: staging
name: testcompany-svc
labels:
app: testcompany-svc
spec:
type: NodePort
ports:
- name: test-http
port: 80
protocol: TCP
targetPort: 3001
selector:
app: testcompany
我的入口清单
apiVersion: networking.k8s.io/v1beta1
- host: api.testcompany.com
http:
paths:
- backend:
serviceName: testcompany-svc
servicePort: test-http
一切都是绿色的,它似乎在工作,但是当我尝试到达 url 时,我得到了 This site can’t be reached
更新 1
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
namespace: staging
name: ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: front.stagingtestcompany.com
http:
paths:
- backend:
serviceName: testcompanyfront-svc
servicePort: testcompanyfront-http
- host: api.stagingtestcompanysrl.com
http:
paths:
- backend:
serviceName: testcompanynodeapi-svc
servicePort: testcompanyapi-http
你应该按顺序检查这个:
- 你的 Service、Pod、Ingress 在同一个命名空间中:
kubectl get all -n staging
- 您的 Pod 正在侦听端口 3001:运行 如果可以,请在本地监听,或者使用
kubectl port-forward pods/[pod-name] -n staging 3001:3001
并在本地尝试 http://localhost:3001/...
- 您的服务正确到达您的 Pod:使用
kubectl port-forward service/testcompany-svc -n staging 3001:3001
并使用 http://localhost:3001/...
在本地尝试
- 检查您发布的规则之前的任何其他 Ingress 规范规则
- 检查您的 VPC 网络中的防火墙规则,它们应该允许来自 Google LBs
的流量
Kubernetes Ingress Controller 无法访问站点
嗨,这是我第一次尝试使用 kubernetes 部署应用程序。我面临的问题是我希望能够使用我的 svc link 子域,但是当我尝试导航到 links 时,我得到
This site can’t be reached
我会解释我为这些所做的步骤,可能我有什么不对或遗漏的地方
我在google云平台上安装了
ingress-controller
在 GCP -> 网络服务 -> 云 DNS
一个。我用 google dns
指向 testcompany.comb。我创建了一条 A 记录,指向上一步“ingress-nginx-controller”
中的 public IP我的服务清单
apiVersion: v1 kind: Service metadata: namespace: staging name: testcompany-svc labels: app: testcompany-svc spec: type: NodePort ports: - name: test-http port: 80 protocol: TCP targetPort: 3001 selector: app: testcompany
我的入口清单
apiVersion: networking.k8s.io/v1beta1 - host: api.testcompany.com http: paths: - backend: serviceName: testcompany-svc servicePort: test-http
一切都是绿色的,它似乎在工作,但是当我尝试到达 url 时,我得到了 This site can’t be reached
更新 1
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
namespace: staging
name: ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: front.stagingtestcompany.com
http:
paths:
- backend:
serviceName: testcompanyfront-svc
servicePort: testcompanyfront-http
- host: api.stagingtestcompanysrl.com
http:
paths:
- backend:
serviceName: testcompanynodeapi-svc
servicePort: testcompanyapi-http
你应该按顺序检查这个:
- 你的 Service、Pod、Ingress 在同一个命名空间中:
kubectl get all -n staging
- 您的 Pod 正在侦听端口 3001:运行 如果可以,请在本地监听,或者使用
kubectl port-forward pods/[pod-name] -n staging 3001:3001
并在本地尝试http://localhost:3001/...
- 您的服务正确到达您的 Pod:使用
kubectl port-forward service/testcompany-svc -n staging 3001:3001
并使用http://localhost:3001/...
在本地尝试
- 检查您发布的规则之前的任何其他 Ingress 规范规则
- 检查您的 VPC 网络中的防火墙规则,它们应该允许来自 Google LBs 的流量