Как разоблачить Docker порт Докер через Kubernetes в Google Cloud?

голоса
0

Я пытаюсь обернуть мою голову вокруг инициализации экземпляров Docker в Kubernetes на Google Cloud. У меня есть построить контроллер реплики, который определяет один стручок и определенный порт, чтобы быть открытым, но она не подвергаются.

Вот мой containers.yaml:

apiVersion: v1
kind: ReplicationController
metadata:
  name: postgres
spec:
  replicas: 1
  selector:
    app: postgres
  template:
    metadata:
      name: postgres
      labels:
        app: postgres
    spec:
      containers:
      - name: postgres
        image: us.gcr.io/bobsapp-1008/postgres:9.4
        ports:
          -
            containerPort: 5432
            name: postgres
            protocol: TCP

Вот результат во docker psвремя работы в качестве корня в моем вычислительном случае двигателя , который работает этот стручок:

root@gke-legal-data-6fddb637-node-49l5:/home/eric# docker ps
CONTAINER ID        IMAGE                                       COMMAND                CREATED              STATUS              PORTS               NAMES
c16b7e0071f4        us.gcr.io/bobsapp-1008/postgres:9.4          /docker-entrypoint.   About a minute ago   Up About a minute                       k8s_postgres.82df2fa1_postgres-7wd6n_default_4e36d84b-2c1f-11e5-8f6f-42010af0664d_2a996ec3
036f8d6375bc        gcr.io/google_containers/pause:0.8.0        /pause               About a minute ago   Up About a minute                       k8s_POD.e4cc795_postgres-7wd6n_default_4e36d84b-2c1f-11e5-8f6f-42010af0664d_8b058463
14c6331ce91f        gcr.io/google_containers/heapster:v0.15.0   /heapster --source=   3 minutes ago        Up 3 minutes                            k8s_heapster.bb306f05_monitoring-heapster-v5-p0orx_kube-system_983e585e-2bd7-11e5-8f6f-42010af0664d_b8b0aff1
8ab049b45e57        gcr.io/google_containers/pause:0.8.0        /pause               6 hours ago          Up 6 hours                              tender_rosalind
03c9810efd2d        gcr.io/google_containers/fluentd-gcp:1.8    \/bin/sh -c '/usr/   8 hours ago          Up 8 hours                              k8s_fluentd-cloud-logging.7721935b_fluentd-cloud-logging-gke-legal-data-6fddb637-node-49l5_kube-system_d0feac1ad02da9e97c4bf67970ece7a1_520ad44a
8ad81f1eb559        gcr.io/google_containers/pause:0.8.0        /pause               8 hours ago          Up 8 hours                              k8s_POD.e4cc795_monitoring-heapster-v5-p0orx_kube-system_983e585e-2bd7-11e5-8f6f-42010af0664d_d321075c
931e38c13e91        gcr.io/google_containers/pause:0.8.0        /pause               8 hours ago          Up 8 hours                              k8s_POD.e4cc795_fluentd-cloud-logging-gke-legal-data-6fddb637-node-49l5_kube-system_d0feac1ad02da9e97c4bf67970ece7a1_69d90d4f

Вы можете видеть, что нет портов. Почему не мои Postgres (порт 5432) подвергаются?

Задан 17/07/2015 в 13:35
источник пользователем
На других языках...                            


2 ответов

голоса
0

Каждый стручок в kubernetes получает свой собственный IP-адрес в частной сети кластера. Порт, что ваш Postgres контейнер имеет открытым на тот IP-адрес, а не непосредственно на хосте IP виртуальной машины.

Если вы бежите kubectl get pod postgres, он должен вернуть IP - адрес стручка, которая вы должны затем быть в состоянии использовать для достижения Postgres внутри кластера.

Обратите внимание, что использование сервиса является распространенным способом дать имя DNS в стручках или сделать группу тиражируемых стручков все достижимых по тому же адресу.

Ответил 17/07/2015 в 15:22
источник пользователем

голоса
0

Если вы не подвергая порт извне с использованием service.yml, то вы можете перенаправить порт к себе с помощью этого метода.

Откройте Kubernetes, нажмите на стручках, свернуть меню, если вы не можете прочитать имена стручка и нажмите стручок вы хотите переслать. Скопируйте имя стручка и вставить его в эту команду.

kubectl port-forward <your pod name> <port number>

пример:

kubectl port-forward potato-dks2ko3 8080
Ответил 13/11/2016 в 19:27
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more