#kubernetes #google-cloud-platform #google-kubernetes-engine
# #kubernetes #google-облачная платформа #google-kubernetes-engine
Вопрос:
Kubernetes
Пару дней назад я создал кластер для своего Play
приложения, используя следующие два yaml
файла
apiVersion: apps/v1
kind: Deployment
metadata:
name: appname
spec:
replicas: 2
selector:
matchLabels:
app: appname
...
и
apiVersion: v1
kind: Service
metadata:
name: appname-service
spec:
selector:
app: appname
ports:
- protocol: TCP
port: 9000
targetPort: 9000
type: LoadBalancer
В то время я получил external IP
и могу получить доступ к приложению, используя внешний IP-адрес.
Сегодня я выполнил следующие две команды на GCP
консоли, но я удивлен, что не вижу внешний IP-адрес!
gcloud container clusters list
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
appname europe-west2-a 1.16.15-gke.4901 35.Xxx.yyy.zzz e2-medium 1.16.15-gke.4901 2 RUNNING
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.92.0.1 **<none>** 443/TCP 2d23h
Я также пытался получить имена всех служб, но отмечу, что appname-service
их нет в списке!
kubectl get services --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.92.0.1 <none> 443/TCP 2d23h
kube-system default-http-backend NodePort 10.92.6.97 <none> 80:31901/TCP 2d23h
kube-system kube-dns ClusterIP 10.92.0.10 <none> 53/UDP,53/TCP 2d23h
kube-system metrics-server ClusterIP 10.92.9.35 <none> 443/TCP 2d23h
Я делаю что-то не так, чтобы проверить внешний IP? Я в неправильном пространстве имен или что-то в этом роде?
Ответ №1:
Похоже, проблема заключалась в том, что я искал не в том проекте и кластере. Я (по ошибке) создал службу в неправильном кластере. Я отладил его, выбрав организацию на верхнем уровне (под которой создаются разные кластеры), а затем проверил в каждом кластере. Я нашел службу в неправильном кластере!