Я новичок в ГКЕ и Кубернетес.Я установил эластичный поиск в GKE, используя Google Click to Deploy.Я также установил nginx-ingress и защитил сервисasticsearch с помощью базовой HTTP-аутентификации (через вход).Я создал внешний статический IP-адрес и назначил его входному контроллеру с помощью поля loadBalancerIp в конфигурации службы ингресс-контроллера.
Вопросы:
- У меня есть службы appengine, работающие в GCP, которыенеобходимо получить доступ к этой настройке эластичного поиска.Могу ли я не подвергать свой сервисasticsearch извне - с помощью своего рода «внутреннего» IP-адреса, к которому имеют доступ только мои сервисы appengine?Является ли использование VPC одним из способов сделать это?
- Я вижу, что моему входу также был присвоен внешний IP-адрес (созданный мной статический IP-адрес был назначен службе nginx-ingress-controller).Однако, когда я получаю этот IP-адрес на 80-м порту, я получаю отказ в соединении, а на 9200-м порту время ожидания истекает.Можно ли избежать двух внешних IP-адресов?Насколько безопасен этот входящий IP-адрес?Каковы его открытые порты?
Вот моя конфигурация входа:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/auth-realm: Authentication Required - ok
nginx.ingress.kubernetes.io/auth-secret: basic-auth
nginx.ingress.kubernetes.io/auth-type: basic
name: basic-ingress
namespace: default
spec:
rules:
- http:
paths:
- backend:
serviceName: elasticsearch-1-elasticsearch-svc
servicePort: 9200
path: /
Вот конфигурация сервиса входного контроллера:
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-ingress
chart: nginx-ingress-1.6.15
component: controller
heritage: Tiller
release: nginx-ingress
name: nginx-ingress-controller
namespace: default
spec:
clusterIP: <Some IP>
externalTrafficPolicy: Cluster
loadBalancerIP: <External IP>
ports:
- name: http
nodePort: 30290
port: 80
protocol: TCP
targetPort: http
- name: https
nodePort: 30119
port: 443
protocol: TCP
targetPort: https
selector:
app: nginx-ingress
component: controller
release: nginx-ingress
sessionAffinity: None
type: LoadBalancer