【发布时间】:2019-12-04 05:48:41
【问题描述】:
我目前在 OSX (Catalina) 上使用 Docker Desktop (19.03.5) 运行 k8s (v.14.8)
按照ambassador getting started 的文章,我做了以下工作:
创建了一个名为ambassador-ingress.yaml的文件
---
apiVersion: v1
kind: Service
metadata:
labels:
service: ambassador
name: ambassador
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 80
selector:
service: ambassador
---
apiVersion: v1
kind: Service
metadata:
name: google
annotations:
getambassador.io/config: |
---
apiVersion: ambassador/v0
kind: Mapping
name: google_mapping
prefix: /google/
service: https://google.com:443
host_rewrite: www.google.com
spec:
type: ClusterIP
clusterIP: None
我已经运行了以下
$ kubectl apply -f https://www.getambassador.io/yaml/ambassador/ambassador-rbac.yaml
$ kubectl apply -f ambassador-ingress.yaml
我现在可以查看kubectl get pods 和kubectl get service
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
ambassador-74fb8f5668-2b85z 1/1 Running 0 20m
ambassador-74fb8f5668-r6jrf 1/1 Running 0 20m
ambassador-74fb8f5668-vrmjg 1/1 Running 0 20m
$ kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ambassador LoadBalancer 10.97.166.229 localhost 80:31327/TCP 18m
ambassador-admin NodePort 10.96.1.56 <none> 8877:30080/TCP 18m
google ClusterIP None <none> <none> 18m
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 13d
一切看起来都设置正确,但是,每当我尝试 curl k8s 时,即使我可以直接点击 google,我也只能得到一个空的服务器响应:
$ curl localhost/google/
> curl: (52) Empty reply from server
$ curl www.google.com
> <!doctype html> ............
我的问题是,我从哪里开始排除故障?我不知道失败在哪里,也不知道如何开始挖掘以找出问题所在。正确的方向是什么?
【问题讨论】:
标签: kubernetes