Действия по развертыванию приложения, передаваемого через Docker, Kubernetes и облачную платформу Google. - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь развернуть приложение на Google Cloud Platform.Мой бэкэнд и мой фронтэнд работают в отдельных док-контейнерах, каждый проект имеет свои собственные Docker-Compose и Dockerfile, я использую контейнер для своей базы данных Postgres.Я развернул свои контейнеры в Dockerhub и создал службы и развертывания Kubernetes.(с использованием Kubernetes Kompose: поэтому я сначала преобразовал свой docker-compose в файлы deployments.yaml)

Теперь я хочу развернуть свое приложение в Google Cloud Platform

  • , которое я создалкластер

  • Я создал два отдельных развертывания для моего внешнего интерфейса и моего внутреннего интерфейса

    kubectl run backendapp --image=docker.io/[dockerhub username]/backendapp --port=9000
    kubectl run frontendapp --image=docker.io/[dockerhub username]/frontendapp --port=3000
    

Когда я получаю доступ через внешнийIP-адрес моего внешнего интерфейса, кажется, работает (есть интерфейс), и невозможно получить доступ к моему внутреннему интерфейсу через внешний IP-адрес.

Итак, мои вопросы:

  • Какие правильные действия необходимо выполнить после запуска моих служб Kubernetes и докерлизации моего приложения для его развертывания на Google Cloud Platform?
  • как связать мой интерфейсный и мои серверные сервисы после развертывания?
  • я должен создать развертывание для своей базы данных также в Google Cloud Platform?

Это описание моей серверной службы

> Name:                     backendapp Namespace:                default
> Labels:                   run=backendapp Annotations:             
> <none> Selector:                 run=backendapp Type:                 
> LoadBalancer IP:                       10.111.73.214 Port:            
> <unset>  9000/TCP TargetPort:               9000/TCP NodePort:        
> <unset>  32449/TCP Endpoints:                 Session Affinity:       
> None External Traffic Policy:  Cluster Events:                  
> <none>

, и этоописание для моеговнешний интерфейс

Name:                     frontendapp
Namespace:                default
Labels:                   run=frontendapp
Annotations:              <none>
Selector:                 run=frontendapp
Type:                     LoadBalancer
IP:                       10.110.133.172
Port:                     <unset>  3000/TCP
TargetPort:               3000/TCP
NodePort:                 <unset>  30016/TCP
Endpoints:                
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

Я могу получить доступ к своему внешнему сервису через

clusterIp: Nodeport Но я не могу сделать это с бэкэндом

1 Ответ

0 голосов
/ 14 июня 2018

Какие правильные шаги необходимо выполнить после запуска моих сервисов Kubernetes и докертации моего приложения для его развертывания на Google Cloud Platform?

После того, как вы создали кластер в GCP, вынеобходимо создавать развертывания и службы для ваших интерфейсных и серверных приложений.Вы можете прочитать документацию GKE, чтобы понять, как создавать Развертывание и Службы

Как связать мой интерфейсный и мои серверные службы после развертывания?

POD в Kubernetes общаются с помощью Сервисов, они также используют Сервисы для того, чтобы подвергать себя воздействию внешнего мира.В GCP вы можете использовать LoadBalancer для совместного использования трафика HTTP / HTTPS и трафика TCP.Для получения дополнительной информации об этом вы можете посмотреть пример Codelab Kubernetes, GKE и Load Balancing .

мне следует создать развертывание для моей базы данных также в Google Cloud Platform?

Если вы хотите найти базу данных в Kubernetes, вам нужно добавить развертывание и сервис для нее.Если вы этого не сделаете, вам нужно настроить доступ ваших приложений к базе данных за пределами Kubernetes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...