google.cloud.gcp_compute_backend_service настройка политики безопасности

#google-cloud-platform #ansible #google-compute-engine

#google-облачная платформа #ansible #google-вычислительный движок

Вопрос:

Я попытался создать серверную службу gcp. Для этого используется приведенный ниже модуль ansible:

 google.cloud.gcp_compute_backend_service
 

который создает серверную службу, но securitypolicy она не назначена.

 - name: create a global backend service
  google.cloud.gcp_compute_backend_service:
    name: test
    protocol: **
    load_balancing_scheme: EXTERNAL
    backends: **
    security_policy: armor_ssl_policy_1
    enable_cdn: no
    state: present
    project: test
    auth_kind: "serviceaccount"
    service_account_file: ouauthfile
    .
    .
    .
 

Не уверен, где я делаю неправильно, может кто-нибудь, пожалуйста, поправьте?

Я также пытался передать string и selflink, но с ними не повезло.

Комментарии:

1. Просто взглянув на предоставленный вами код, все кажется правильным, можете ли вы поделиться некоторыми сообщениями об ошибках или журналами? Создается ли служба вообще?

2. Спасибо @Wojtek_B, мы не видим никакого ответа об ошибке, и серверная часть создается, но политика безопасности не привязывается,

3. Как вы проверили отсутствие политики? Можете ли вы запустить gcloud compute backend-services describe you-policy-name-here | grep security и проверить, получаете ли вы какие-либо результаты? Если нет ничего, мы можем попытаться покопаться в Ansible тогда.

4. получил подробности.. безопасность не отображается

5. Я действительно смог воспроизвести вашу проблему — служба создается, но без назначения политики в зависимости от security_policy параметра. однако вы пытаетесь назначить политику SSL, которая может применяться только к интерфейсам. Какую политику вы хотите назначить??

Ответ №1:

Я попытался создать серверную службу GCP с помощью Ansible так же, как и вы, и мне это удалось, однако произошло то же самое — он был создан без назначенной политики безопасности.

У меня уже была создана группа экземпляров и проверка работоспособности, поэтому я сосредоточился только на сервисе; мой playbook выглядел так:

 - name: Create Backend Service
  hosts: localhost

  vars:
    service_account_file: /home/wb/key.json
    project: xxxx
    auth_kind: serviceaccount
    scopes:
      - https://www.googleapis.com/auth/compute

  tasks:

   - name: create a backend service
     gcp_compute_backend_service:
         name: ansible-service
         security_policy: test-pol
         backends:
         - group: "https://www.googleapis.com/compute/v1/projects/xxxx/zones/europe-central2-a/instan$
         health_checks:
         - "https://www.googleapis.com/compute/v1/projects/xxxx/global/healthChecks/ssh-hc"
         enable_cdn: 'false'
         project: "{{ project }}"
         auth_kind: "{{ auth_kind }}"
         service_account_file: "{{ service_account_file }}"
         scopes: "{{ scopes }}"
         state: present
 

Служба создается, но политика безопасности не назначена.

securityPolicy параметр в соответствии с документацией Ansible — это string тип. Я пытался использовать ‘ и » — даже полную самоссылку GCP (для политики) без каких-либо успехов или сообщения об ошибке.

Единственный способ (с использованием CLI), который я нашел, чтобы исправить это, — запустить gcloud compute backend-services update ansible-service --security-policy=test-pol или попробовать вызвать API напрямую (еще не пробовал).

На данный момент, на мой взгляд, существует проблема с модулем ansible, вызывающим GCP API.

Я бы рекомендовал вам сообщить о проблеме в IssueTracker Google, если некоторые функции работают не так, как вы ожидали. Вы также можете попробовать сообщить об этом команде Ansible и сослаться на проблему в IssueTracker (если вы решите сообщить об этом), чтобы они могли даже общаться во время процесса.

Комментарии:

1. точно.. это проблема с модулем @wojtek, мне нужно назначить api Google.. спасибо за поддержку