Я сейчас пытаюсь настроить Cloud NAT
в gcp
через ansible
.
Мне удалось настроить Cloud NAT, как описано в документации: https://cloud.google.com/nat/docs/gke-example с участием gcloud
команды, выполняя в основном три шага create bastion
, create router
, configure NAT of created router
, который работал, как ожидалось.
Поэтому я выполнил вручную следующие команды:
gcloud compute instances create bastion-1
...gcloud compute routers create nat-router
...gcloud compute routers nats create nat-config
...В ...
это остальные команды с регионом и т. д., которые, вероятно, не нужны для вопроса.
Теперь я хочу создать доступную роль, чтобы сделать то же самое. В настоящее время я смог создать хост-бастион с помощью модулей:
gcp_compute_disk
gcp_compute_network
gcp_compute_instance
и сам роутер через
gcp_compute_router
так что шаги 1 и 2 выполнены. Однако я не могу понять, можно ли настроить NAT для маршрутизатора через ansible. Мне не удалось найти соответствующий модуль в списке облачных модулей Google https://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html#google или соответствующие поля для установки в gcp_compute_router
-модуль https://docs.ansible.com/ansible/latest/modules/gcp_compute_router_module.html#gcp-compute-router-module.
Теперь мой вопрос: можно ли настроить gcp Cloud NAT через ansible, и если да, нужно ли мне выполнять команды оболочки в моем playbook или есть модули, которые я могу использовать? Я что-то не замечаю?
Если какая-либо информация отсутствует или не имеет отношения к делу, или мне следует расширить примеры кода, сообщите мне, чтобы я мог отредактировать свой вопрос.
Похоже, что Ansible не реализовал эти функции в существующих модулях для GCP. Вы можете обойти это, выполнив явные команды gcp, чтобы выполнить недостающие шаги, на компьютере, на котором запущен Ansible в качестве команды в вашей книге воспроизведения, проверьте эти Примеры