我想公开一些可从Kubernetes的外部客户端访问的Web服务,许多人建议使用Ingress。我已按照指南https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md部署了入口控制器。
我不知道下一步该怎么做,有人可以举个例子来说明这一步骤吗?
答案 0 :(得分:1)
您需要创建一个与该Ingress关联的Ingress资源和服务。例如,nginx入口控制器:
cat <<EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
name: foo-boo
namespace: default
spec:
rules:
- host: foo.domain
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /mypath
EOF | kubectl apply -f -
然后您将能够看到入口:
$ kubectl get ingress foo-boo
NAME HOSTS ADDRESS PORTS AGE
foo-boo foo.domain someloadbalancer.com 80 6d11h
然后您可以使用curl
之类的东西对其进行测试:
$ curl -H 'Host: foo.domain' http://someloadbalancer.com/mypath
有关Kubernetes入口here的更多信息。