MyTetra Share
Делитесь знаниями!
Создать ресурс Ingress в Kubernetes
Время создания: 14.09.2018 20:07
Автор: br0ke
Текстовые метки: kubernetes, k8s, kube, kubectl, ingress, proxy, nginx, service, http, https
Раздел: Информационные технологии - Linux - Kubernetes
Запись: and-semakin/mytetra_data/master/base/1536937648mpe29477ik/text.html на raw.githubusercontent.com

Ingress -- это объект API, который управляет доступом к сервисам кластера извне кластера, как правило, по HTTP. Ingress может предоставлять балансировку нагрузки, расшифровку SSL и виртуальный хостинг на основе доменных имен (name-based virtual hosting).


internet

|

[ Ingress ]

--|-----|--

[ Services ]


Создать ресурс из файла:


kubectl apply -f ingress.yaml


Пример 0: просто Ingress


apiVersion: extensions/v1beta1

kind: Ingress

metadata:

name: test-ingress

annotations:

nginx.ingress.kubernetes.io/rewrite-target: /

spec:

rules:

- http:

paths:

- path: /testpath

backend:

serviceName: test

servicePort: 80


Пример 1: Ingress для одного сервиса:


apiVersion: extensions/v1beta1

kind: Ingress

metadata:

name: test-ingress

spec:

backend:

serviceName: testsvc

servicePort: 80


Пример 2: разделение путей


apiVersion: extensions/v1beta1

kind: Ingress

metadata:

name: test

annotations:

nginx.ingress.kubernetes.io/rewrite-target: /

spec:

rules:

- host: foo.bar.com

http:

paths:

- path: /foo

backend:

serviceName: s1

servicePort: 80

- path: /bar

backend:

serviceName: s2

servicePort: 80


Пример 3: виртуальный хостинг на основе имен


apiVersion: extensions/v1beta1

kind: Ingress

metadata:

name: test

spec:

rules:

- host: foo.bar.com

http:

paths:

- backend:

serviceName: s1

servicePort: 80

- host: bar.foo.com

http:

paths:

- backend:

serviceName: s2

servicePort: 80


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования