云服务器内容精选
-
问题现象 部署Ansible应用替换json参数解析错误,未达到预期效果: 部署Ansible应用,使用template模块替换文本文件,当参数值为json或json数组格式时,替换后的参数解析后会在key值前加上"u"。示例如下: 输入参数为:{"key":"jsonkey","value":"jsonvalue"} 替换后的参数为:{u'value': u'jsonvalue', u'key': u'jsonkey'}
-
认证与鉴权 在配置鉴权信息之前,您需要登录华为云控制台,获取您的Region、项目ID、Access Key和Secret Key信息。 您可以通过环境变量的方式配置鉴权信息。 export ANSIBLE_HWC_AC CES S_KEY="my-access-key"export ANSIBLE_HWC_SECRET_KEY="my-secret-key"export ANSIBLE_HWC_PROJECT_ID="my-project-id"export ANSIBLE_HWC_REGION="cn-north-4" 您也可以将鉴权信息与您将要创建的华为云资源的参数一起配置在playbook文件中。 access_key="my-access-key"secret_key="my-secret-key"project_id="my-project-id"region="cn-north-4" 将AK/SK以明文的形式存储在配置文件中,存在密钥泄露的安全隐患。推荐您使用环境变量的方式进行认证。
-
安装Ansible华为云模块 执行以下命令安装Ansible华为云模块依赖包。 wget https://raw.githubusercontent.com/huaweicloud/huaweicloud-ansible-modules/master/requirements.txtsudo pip install -r requirements.txt 执行以下命令安装Ansible华为云模块。 ansible-galaxy collection install hwceco.hwcollection 执行以下命令升级华为云模块的版本(可选)。 ansible-galaxy collection install hwceco.hwcollection --force
-
运行Playbook创建一台E CS 实例 完成以下操作,通过Playbook创建一台ECS实例: 创建一个名称为huaweicloud_create_ecs.yml的文件,然后通过VI 编辑器打开。 vi huaweicloud_create_ecs.yml 将以下完整的Playbook示例粘贴到huaweicloud_create_ecs.yml文件中。 - hosts: localhost collections: - hwceco.hwcollection tasks: - name: create a vpc hwc_network_vpc: cidr: "192.168.100.0/24" name: "ansible_network_vpc_test" register: vpc - name: create a subnet hwc_vpc_subnet: gateway_ip: "192.168.100.32" name: "ansible_network_subnet_test" dhcp_enable: true vpc_id: "{{ vpc.state.id }}" filters: - "name" cidr: "192.168.100.0/26" register: subnet - name: create a disk hwc_evs_disk: filters: - "name" availability_zone: "cn-north-1a" name: "ansible_evs_disk_test" volume_type: "SSD" size: 10 register: disk - name: create an instance hwc_ecs_instance: data_volumes: - volume_id: "{{ disk.state.id }}" name: "ansible_ecs_instance_test" availability_zone: "cn-north-1a" nics: - subnet_id: "{{ subnet.state.id }}" ip_address:"192.168.100.33" - subnet_id: "{{ subnet.state.id }}" ip_address: "192.168.100.34" server_tags: my_server: "my_server" image_id: "8da46d6d-6079-4e31-ad6d-a7167efff892" flavor_name: "s3.small.1" filters: - "name" vpc_id: "{{ vpc.state.id }}" root_volume: volume_type: "SSD" 保存并退出。 运行Ansible playbook来创建ECS实例。 ansible-playbook huaweicloud_create_ecs.yml
-
创建ECS实例 结合上面创建的VPC、subnet和磁盘,创建ECS实例。 以下Ansible playbook展示了如何创建一台ECS实例。 - name: create an instance hwc_ecs_instance: data_volumes: - volume_id: "{{ disk.state.id }}" name: "ansible_ecs_instance_test" availability_zone: "cn-north-1a" nics: - subnet_id: "{{ subnet.state.id }}" ip_address:"192.168.100.33" - subnet_id: "{{ subnet.state.id }}" ip_address: "192.168.100.34" server_tags: my_server: "my_server" image_id: "8da46d6d-6079-4e31-ad6d-a7167efff892" flavor_name: "s3.small.1" filters: - "name" vpc_id: "{{ vpc.state.id }}" root_volume: volume_type: "SSD"
-
创建磁盘(EVS) 在创建ECS实例时,您可以指定ECS实例的数据盘。 以下Ansible playbook展示了如何创建一个磁盘。 - name: create a disk hwc_evs_disk: filters: - "name" availability_zone: "cn-north-1a" name: "ansible_evs_disk_test" volume_type: "SSD" size: 10 register: disk
-
创建子网(subnet) 在创建ECS实例时,您必须要指定ECS实例所属的子网。 以下Ansible playbook展示了如何创建一个子网。 - name: create a subnet hwc_vpc_subnet: gateway_ip: "192.168.100.32" name: "ansible_network_subnet_test" dhcp_enable: true vpc_id: "{{ vpc.state.id }}" filters: - "name" cidr: "192.168.100.0/26" register: subnet
-
安装步骤 下载最新版本的华为云动态Inventory文件,并为其赋予可执行权限。 wget https://raw.githubusercontent.com/huaweicloud/huaweicloud-ansible-modules/master/contrib/inventory/hwc_ecs.pychmod +x hwc_ecs.py 下载获取与华为云动态Inventory配套的hwc_ecs.ini配置文件,并将其放到hwc_ecs.py文件所在的目录。 wget https://raw.githubusercontent.com/huaweicloud/huaweicloud-ansible-modules/master/contrib/inventory/hwc_ecs.ini 配置鉴权信息 您可以将鉴权信息配置在hwc_ecs.ini文件中。 access_key="my-access-key"secret_key="my-secret-key"project_id="my-project-id"region="cn-north-4" 您也可以通过环境变量的方式配置鉴权信息。 export ANSIBLE_HWC_ACCESS_KEY="my-access-key"export ANSIBLE_HWC_SECRET_KEY="my-secret-key"export ANSIBLE_HWC_PROJECT_ID="my-project-id"export ANSIBLE_HWC_REGION="cn-north-4" 执行Inventory文件验证配置。 ./hwc_ecs.py --list
-
将华为云动态Inventory配置为默认Inventory 除了在执行Ansible命令时以-i 参数显示地指定华为云的Inventory文件,还可将动态Inventory配置为默认的Inventory。在安装完Ansible之后,Ansible Inventory默认为/etc/ansible/hosts。 完成以下操作,将华为云动态Inventory配置为默认Inventory: 下载最新版本的华为云动态Inventory文件,并为其赋予可执行权限,然后用其替换默认Inventory。 wget https://raw.githubusercontent.com/huaweicloud/huaweicloud-ansible-modules/master/contrib/inventory/hwc_ecs.pychmod +x hwc_ecs.pysudo cp hwc_ecs.py /etc/ansible/hosts 下载华为云动态Inventory的配置文件,并将其移动到默认Inventory所在的目录/etc/ansible。 wget https://raw.githubusercontent.com/huaweicloud/huaweicloud-ansible-modules/master/contrib/inventory/hwc_ecs.inisudo cp hwc_ecs.ini /etc/ansible 配置鉴权信息 您可以将鉴权信息配置在hwc_ecs.ini文件中。 access_key="my-access-key"secret_key="my-secret-key"project_id="my-project-id"region="cn-north-4" 您也可以通过环境变量的方式配置鉴权信息。 export ANSIBLE_HWC_ACCESS_KEY="my-access-key"export ANSIBLE_HWC_SECRET_KEY="my-secret-key"export ANSIBLE_HWC_PROJECT_ID="my-project-id"export ANSIBLE_HWC_REGION="cn-north-4" 执行以下命令进行验证。 ansible huaweicloud -m ping
-
华为云动态Inventory 以下是华为云动态Inventory获取到的一部分的主机信息。 { "_meta": { "hostvars": { "ecs_ansible_test_0001": { "ansible_ssh_host": "45.9.xx.xx", "id": "d9bdd7ef-dfa2-4ab2-abae-1cb25788813f", "name": "ecs-ansible-test-0001", ... }, "ecs_ansible_test_0002": { "ansible_ssh_host": "37.18.xx.xx", "id": "c1936f99-469b-4d96-9e20-89fa816b310c", "name": "ecs-ansible-test-0002", ... } } }, "c1936f99-469b-4d96-9e20-89fa816b310c": [ "ecs_ansible_test_0002" ], "d9bdd7ef-dfa2-4ab2-abae-1cb25788813f": [ "ecs_ansible_test_0001" ], "huaweicloud": [ "ecs_ansible_test_0001", "ecs_ansible_test_0002" ], "image_id_cf9a291d_a62e_4df6_a7c5_0f6d2f16f351": [ "ecs_ansible_test_0001", "ecs_ansible_test_0002" ], "cn-north-4": [ "ecs_ansible_test_0001", "ecs_ansible_test_0002" ], "cn-north-4a": [ "ecs_ansible_test_0001", "ecs_ansible_test_0002" ], "security_group_id_2ac34ff2_a923_465c_8591_f618f5c250bf": [ "ecs_ansible_test_0001", "ecs_ansible_test_0002" ], "vpc_id_e98a5194_b270_4cad_b233_99486744f3ac": [ "ecs_ansible_test_0001", "ecs_ansible_test_0002" ] }
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格