Google cloud platform 使用Ansible创建GCP存储桶
我正在尝试用ansible处理GCP资源。最初,我尝试使用ansible创建一个GCP存储桶。为此,我使用下面的命令在GCP CLoud Shell中安装了ansible。还创建了一个服务帐户并生成了基于JSON的密钥文件Google cloud platform 使用Ansible创建GCP存储桶,google-cloud-platform,ansible,google-cloud-storage,Google Cloud Platform,Ansible,Google Cloud Storage,我正在尝试用ansible处理GCP资源。最初,我尝试使用ansible创建一个GCP存储桶。为此,我使用下面的命令在GCP CLoud Shell中安装了ansible。还创建了一个服务帐户并生成了基于JSON的密钥文件 sudo apt-get install ansible 还使用以下命令安装了gcloud模块 sudo pip3 install google.cloud 现在我尝试使用下面的YAML文件创建一个存储桶 但当我运行ansible playbook时,它失败了
sudo apt-get install ansible
还使用以下命令安装了gcloud模块
sudo pip3 install google.cloud
现在我尝试使用下面的YAML文件创建一个存储桶
但当我运行ansible playbook时,它失败了,错误如下
令人不快的一行似乎是:
- name: Storage bucket
^ here
我通过使用pip安装Ansible和GoogleAuth解决了这个问题 并且对剧本进行了一些修改,使其发挥作用
- name: create a bucket
hosts: localhost
tasks:
- name: Storage bucket
google.cloud.gcp_storage_bucket:
name: ansible-storage-module
project: adminproject-272208
auth_kind: serviceaccount
service_account_file: "/home/project/ansible/project.json"
state: present
gsutil显示bucket已创建
$ gsutil ls
gs://ansible-storage-module/
您正试图从google.cloud ansible集合中删除一个模块。看起来你没有安装它。该命令类似于ansible galaxy collection install google.cloud。如果您看到我的原始描述,它已经使用sudo pip3 install google.cloud执行。我再次使用pip安装ansible,它成功了。使用apt get时,它不起作用。如果您看到我的原始评论,我不会说任何关于安装Python模块的pip安装的内容。我建议使用ansible galaxy collection安装,它安装ansible collections。最初我尝试使用ansible galaxy collection安装,但不知怎的失败了,之后我尝试了pip安装
pip install ansible
pip install requests google-auth
- name: create a bucket
hosts: localhost
tasks:
- name: Storage bucket
google.cloud.gcp_storage_bucket:
name: ansible-storage-module
project: adminproject-272208
auth_kind: serviceaccount
service_account_file: "/home/project/ansible/project.json"
state: present
$ gsutil ls
gs://ansible-storage-module/