Итак, вы хотите выставить свое приложение на Minikube? Я только что попробовал его, используя тип сервиса ClusterIP
по умолчанию (по сути, удаляя ExternalName
материал, который у вас был) и этот файл YAML Я могу увидеть ваш сервис на https://192.168.99.100
, где контроллер Ingress живет:
Сервис теперь выглядит так:
apiVersion: v1
kind: Service
metadata:
labels:
run: hello-world
name: hello-world
spec:
ports:
- port: 80
targetPort: 80
selector:
run: hello-world
И вход:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: minikube-local-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host:
http:
paths:
- path: /
backend:
serviceName: hello-world
servicePort: 80
Примечание. В пределах кластера ваша служба теперь доступна через hello-world.default
(это DNS-имя, назначенное Kubernetes внутри кластера), и извне вам необходимо сопоставить ее, скажем, от hello-world.local
до 192.168.99.100 в вашем /etc/hosts
файл на вашем хост-компьютере.
В качестве альтернативы, если вы измените ресурс Ingress
на - host: hello-world.local
, то вы сможете (с хоста) связаться с вашим сервисом, используя это полное доменное имя, например: curl -H "Host: hello-world.local" 192.168.99.100
.