Я пытаюсь настроить микро-сервисы в Kubernetes на Google Cloud Platform. Я создал файлы конфигурации deployment
, clusterIp
и ingress
.
Сначала, после создания кластера, я запускаю эту команду для установки nginx
ingress.
helm install my-nginx stable/nginx-ingress --set rbac.create=true
Я использую helm v3
.
Затем я применяю конфигурации развертывания и clusterIp.
конфигурации развертывания и clusterIp:
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-production-deployment
spec:
replicas: 2
selector:
matchLabels:
component: app-production
template:
metadata:
labels:
component: app-production
spec:
containers:
- name: app-production
image: eu.gcr.io/my-project/app:1.0
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: app-production-cluser-ip-service
spec:
type: ClusterIP
selector:
component: app-production
ports:
- port: 80
targetPort: 80
protocol: TCP
Моя входная конфигурация:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: app.example.com
http:
paths:
- path: /
backend:
serviceName: app-production-cluster-ip-service
servicePort: 80
Я получаю эту ошибку из журналов Google Cloud Platform при входном контроллере:
Error obtaining Endpoints for Service "default/app-production-cluster-ip-service": no object matching key "default/app-production-cluster-ip-service" in local store
Но когда я выполняю команду kubectl get endpoints
, вывод такой:
NAME ENDPOINTS AGE
app-production-cluser-ip-service 10.60.0.12:80,10.60.1.13:80 17m
I Я действительно не уверен, что я делаю неправильно.