При создании простого развертывания hello-world с помощью декларативного манифеста yaml и службы типа LoadBalancer для его предоставления все создается успешно, однако при попадании на внешний IP-адрес службы оно недоступно.
Здесьэто файл yaml, который я использую:
apiVersion: v1
kind: Service
metadata:
name: my-test
labels:
app: my-test
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8888
protocol: TCP
name: http
# - port: 443
# targetPort: 8888
# protocol: TCP
# name: https
selector:
app: my-test
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-test
labels:
app: my-test
spec:
replicas: 3
selector:
matchLabels:
app: my-test
template:
metadata:
labels:
app: my-test
spec:
containers:
- name: my-test
image: gcr.io/google-samples/hello- app:2.0
ports:
- containerPort: 8888
Я понял, что если я создаю развертывание с помощью команды run, я могу создать службу с помощью команды yaml или kubectl expose.Я новичок в K8s, поэтому не уверен, что не так с декларацией развертывания.
Использование следующих команд работает нормально
kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080
Затем я выполнил следующую команду, чтобы раскрыть развертывание:
kubectl expose deployment hello-server --type LoadBalancer --port 80 --target-port 8080
Есть идеи?