kolla-ansible部署Train版openstack(all-in-one)

2023-05-16

本文最后更新于 207 天前,其中的信息可能已经有所发展或是发生改变。

kolla ansible简介

kolla 的使命是为 openstack 云平台提供生产级别的、开箱即用的交付能力。kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只跑一个服务(进程),做到最小粒度的运行 docker。

kolla 要实现 openetack 部署总体上分为两步,第一步是制作 docker 镜像,第二步是编排部署。因此,kolla 项目又被分为两个小项目:kolla、kolla-ansible 。

kolla-ansible项目https://github.com/openstack/kolla-ansible

kolla项目https://tarballs.opendev.org/openstack/kolla/

dockerhub镜像地址https://hub.docker.com/u/kolla/

安装环境准备

官方部署文档:https://docs.openstack.org/kolla-ansible/train/user/quickstart.html

本次部署train版all-in-one单节点,使用一台centos7.8 minimal节点进行部署,该节点同时作为控制节点、计算节点、网络节点和cinder存储节点使用,同时也是kolla ansible的部署节点。

kolla安装节点要求:

2 network interfaces
8GB main memory
40GB disk space

如果是vmware workstation环境,勾选处理器选项的虚拟化引擎相关功能,否则后面需要配置nova_compute_virt_type=qemu参数,这里选择勾选,跳过以下步骤。

cat /etc/kolla/globals.yml
nova_compute_virt_type: "qemu"

#或者部署完成后手动调整
[root@kolla ~]# cat /etc/kolla/nova-compute/nova.conf |grep virt_type
#virt_type = kvm
virt_type = qemu

[root@kolla ~]# docker restart nova_compute

kolla的安装要求目标机器至少两块网卡,本次安装使用2块网卡对应管理网络和外部网络两个网络平面,在vmware workstation虚拟机新增一块网卡ens34:

ens32,NAT模式,管理网络,正常配置静态IP即可。租户网络与该网络复用,租户vm网络不单独创建网卡
ens34,桥接模式,外部网络,无需配置IP地址,这个其实是让neutron的br-ex 绑定使用,虚拟机通过这块网卡访问外网。

ens34网卡配置参考:https://docs.openstack.org/install-guide/environment-networking-controller.html

cat > /etc/sysconfig/network-scripts/ifcfg-ens34 <<EOF
NAME=ens34
DEVICE=ens34
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
EOF

#重新加载ens34网卡设备
nmcli con reload && nmcli con up ens34

如果启用cinder还需要额外添加磁盘,这里以添加一块/dev/sdb磁盘为例,创建为物理卷并加入卷组。

pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb

注意卷组名称为cinder-volumes,默认与后面的globals.yml中定义一致。

[root@kolla ~]# cat /etc/kolla/globals.yml | grep cinder_volume_group
#cinder_volume_group: "cinder-volumes"

部署kolla ansible

配置主机名,kolla预检查时rabbitmq可能需要能够进行主机名解析

hostnamectl set-hostname kolla

安装依赖

yum install -y python-devel libffi-devel gcc openssl-devel libselinux-python python2-pip  python-pbr epel-release ansible

配置阿里云pip源,否则pip安装时会很慢

mkdir ~/.pip
cat > ~/.pip/pip.conf << EOF 
[global]
trusted-host=mirrors.aliyun.com
index-url=https://mirrors.aliyun.com/pypi/simple/
EOF

安装 kolla-ansible

kolla版本与openstack版本对应关系:https://releases.openstack.org/teams/kolla.html

pip install setuptools==22.0.5
pip install pip==20.3.4
pip install wheel
pip install kolla-ansible==9.1.0 --ignore-installed PyYAML

复制 kolla-ansible配置文件到当前环境

mkdir -p /etc/kolla
chown $USER:$USER /etc/kolla

cp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla

cp /usr/share/kolla-ansible/ansible/inventory/* .

修改ansible配置文件

cat << EOF | sed -i '/^\[defaults\]$/ r /dev/stdin' /etc/ansible/ansible.cfg
host_key_checking=False
pipelining=True
forks=100
EOF

默认有all-in-one和multinode两个inventory文件,这里使用all-in-one,来规划集群角色,配置默认即可

[root@kolla ~]# cat all-in-one | more

检查inventory配置是否正确,执行:

ansible -i all-in-one all -m ping

生成openstack组件用到的密码,该操作会填充/etc/kolla/passwords.yml,该文件中默认参数为空。

kolla-genpwd

修改keystone_admin_password,可以修改为自定义的密码方便后续horizon登录,这里改为kolla。

$ sed -i 's#keystone_admin_password:.*#keystone_admin_password: kolla#g' /etc/kolla/passwords.yml 

$ cat /etc/kolla/passwords.yml | grep keystone_admin_password
keystone_admin_password: kolla

修改全局配置文件globals.yml,该文件用来控制安装哪些组件,以及如何配置组件,由于全部是注释,这里直接追加进去,也可以逐个找到对应项进行修改。

cp /etc/kolla/globals.yml{,.bak}

cat >> /etc/kolla/globals.yml <<EOF
# Kolla options

kolla_base_distro: "centos"
kolla_install_type: "binary"
openstack_release: "train"
kolla_internal_vip_address: "192.168.150.155"

# Docker options
#docker_registry: "registry.cn-beijing.aliyuncs.com"
#docker_namespace: "kollaimage"

# Neutron - Networking Options
network_interface: "ens32"
neutron_external_interface: "ens34"
neutron_plugin_agent: "openvswitch"
enable_neutron_provider_networks: "yes"

# OpenStack services
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"

EOF

参数说明:

kolla_base_distro: kolla镜像基于不同linux发型版构建,主机使用centos这里对应使用centos类型的docker镜像即可。
kolla_install_type: kolla镜像基于binary二进制和source源码两种类型构建,实际部署使用binary即可。
openstack_release: openstack版本可自定义,会从dockerhub拉取对应版本的镜像
kolla_internal_vip_address: 单节点部署kolla也会启用haproxy和keepalived,方便后续扩容为高可用集群,该地址是ens32网卡网络中的一个可用IP。
docker_registry: 默认从dockerhub拉取镜像,也可以本地搭建仓库,提前推送镜像上去。
docker_namespace: 阿里云kolla镜像仓库所在的命名空间,dockerhub官网默认是kolla。
network_interface: 管理网络的网卡
neutron_external_interface: 外部网络的网卡
neutron_plugin_agent: 默认启用openvswitch
enable_neutron_provider_networks: 启用外部网络
enable_cinder: 启用cinder
enable_cinder_backend_lvm: 指定cinder后端存储为lvm

部署openstack组件

部署openstack

#预配置,安装docker、docker sdk、关闭防火墙、配置时间同步等
kolla-ansible -i ./all-in-one bootstrap-servers

#部署前环境检查
kolla-ansible -i ./all-in-one prechecks

#拉取镜像,也可省略该步骤,默认会自动拉取
kolla-ansible -i ./all-in-one pull

#执行实际部署,拉取镜像,运行对应组件容器
kolla-ansible -i ./all-in-one deploy

#生成openrc文件
kolla-ansible post-deploy

以上部署没有报错中断说明部署成功,所有openstack组件以容器方式运行,查看容器

[root@kolla ~]# docker ps -a

确认没有Exited等异常状态的容器

[root@kolla ~]# docker ps -a  | grep -v Up

本次部署运行了38个容器

[root@localhost kolla-env]# docker ps -a | wc -l
39

查看拉取的镜像,发现镜像数量与容器数量是一致的。

[root@kolla ~]# docker images | wc -l
39
[root@kolla ~]# docker images
REPOSITORY                                                                             TAG                 IMAGE ID            CREATED             SIZE
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-glance-api                  train               aec757c5908a        2 days ago          1.05GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-ssh                train               2c95619322ed        2 days ago          1.04GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-fernet             train               918564aa9c01        2 days ago          1.04GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone                    train               8d5f3ca2a73c        2 days ago          1.04GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-api                  train               500910236e85        2 days ago          1.19GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-volume               train               f76ebe1e133d        2 days ago          1.14GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-backup               train               19342786a92c        2 days ago          1.13GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-scheduler            train               920630f0ea6c        2 days ago          1.11GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api                    train               517f6a0643ee        2 days ago          1.07GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api-cfn                train               2d46b91d44ef        2 days ago          1.07GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-engine                 train               ab570c135dbc        2 days ago          1.07GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-horizon                     train               a00ddb359ea5        2 days ago          1.2GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-fluentd                     train               6a5b7be2551b        2 days ago          697MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cron                        train               0f784cd532e2        2 days ago          408MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-chrony                      train               374dabc62868        2 days ago          408MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-iscsid                      train               575873f9e4b8        2 days ago          413MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-haproxy                     train               9cf840548535        2 days ago          433MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keepalived                  train               b2a20ccd7d6a        2 days ago          414MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openstack-base              train               c35001fb182b        3 days ago          920MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-compute                train               93be43a73a3e        5 days ago          1.85GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-placement-api               train               26f8c88c3c50        5 days ago          1.05GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-api                    train               2a9d3ea95254        5 days ago          1.08GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-novncproxy             train               e6acfbe47b2b        5 days ago          1.05GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-conductor              train               836a9f775263        5 days ago          1.05GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-ssh                    train               f89a813f3902        5 days ago          1.05GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-scheduler              train               8061eaa33d21        5 days ago          1.05GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-vswitchd        train               2b780c8075c6        5 days ago          425MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-db-server       train               86168147b086        5 days ago          425MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-rabbitmq                    train               19cd34b4f503        5 days ago          487MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-mariadb                     train               882472a192b5        6 days ago          593MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-dhcp-agent          train               a007b53f0507        7 days ago          1.04GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-metadata-agent      train               8bcff22221bd        7 days ago          1.04GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-libvirt                train               539673da5c25        7 days ago          1.25GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-kolla-toolbox               train               a18a474c65ea        7 days ago          842MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-tgtd                        train               ad5380187ca9        7 days ago          383MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-memcached                   train               1fcf18645254        7 days ago          408MB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-server              train               539cfb7c1fd2        8 days ago          1.08GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-openvswitch-agent   train               95113c0f5b8c        8 days ago          1.08GB
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-l3-agent            train               fbe9385f49ca        8 days ago          1.08GB

查看cinder使用的卷,自动创建了lvm

[root@kolla ~]# lsblk | grep cinder
├─cinder--volumes-cinder--volumes--pool_tmeta 253:3    0   20M  0 lvm  
│ └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm  
└─cinder--volumes-cinder--volumes--pool_tdata 253:4    0   19G  0 lvm  
  └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm  

[root@kolla ~]# lvs | grep cinder
  cinder-volumes-pool cinder-volumes twi-a-tz--  19.00g             0.00   10.55

另外需要注意,不要在该节点安装libvirt等工具,这些工具安装后可能会启用libvirtd和iscsid.sock等服务,kolla已经在容器中运行了这些服务,这些服务会调用节点上的sock文件,如果节点上也启用这些服务去抢占这些文件,会导致容器异常。默认kolla在预配置时也会主动禁用节点上的相关服务。

安装OpenStack客户端

可以直接安装到服务器上或者使用docker安装容器

推荐使用docker容器方式运行客户端

使用docker容器作为客户端

docker run -d --name client \
  --restart always \
  -v /etc/kolla/admin-openrc.sh:/admin-openrc.sh:ro \
  -v /usr/share/kolla-ansible/init-runonce:/init-runonce:rw \
  kolla/centos-binary-openstack-base:train sleep infinity

docker exec -it client bash
source /admin-openrc.sh
openstack service list

yum安装openstack客户端

#启用openstack存储库
yum install -y centos-release-openstack-train

#安装openstack客户端
yum install -y python-openstackclient

#启用selinux,安装openstack-selinux软件包以自动管理OpenStack服务的安全策略
yum install -y openstack-selinux

#报错处理
pip uninstall urllib3
yum install -y python2-urllib3

运行cirros实例

kolla ansible提供了一个快速创建cirros demo实例的脚本/usr/share/kolla-ansible/init-runonce。

脚本需要cirros镜像,如果网络较慢可以使用浏览器下载放在/opt/cache/files目录下:

wget https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img
mkdir -p /opt/cache/files/
mv cirros-0.4.0-x86_64-disk.img /opt/cache/files/

定义init-runonce示例脚本外部网络配置:

#定义init-runonce示例脚本外部网络配置
vim /usr/share/kolla-ansible/init-runonce
EXT_NET_CIDR=${EXT_NET_CIDR:-'192.168.35/24'}
EXT_NET_RANGE=${EXT_NET_RANGE:-'start=192.168.35.150,end=192.168.35.188'}
EXT_NET_GATEWAY=${EXT_NET_GATEWAY:-'192.168.35.1'}

#执行脚本,上传镜像到glance,创建内部网络、外部网络、flavor、ssh key,并运行一个实例
source /etc/kolla/admin-openrc.sh 
/usr/share/kolla-ansible/init-runonce

参数说明:

EXT_NET_CIDR 指定外部网络,由于使用桥接模式,直接桥接到了电脑的无线网卡,所以这里网络就是无线网卡的网段。
EXT_NET_RANGE 指定从外部网络取出一个地址范围,作为外部网络的地址池
EXT_NET_GATEWAY 外部网络网关,这里与wifi网络使用的网关一致

根据最终提示运行实例

openstack server create \
    --image cirros \
    --flavor m1.tiny \
    --key-name mykey \
    --network demo-net \
    demo1

访问openstack horizon

访问openstack horizon需要使用vip地址,节点上可以看到由keepalived容器生成的vip

[root@kolla ~]# ip a |grep ens32
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.150.101/24 brd 192.168.150.255 scope global noprefixroute dynamic ens32
    inet 192.168.150.155/32 scope global ens32

浏览器直接访问该地址即可登录到horizon

http://192.168.150.155

我这里的用户名密码为admin/kolla,信息可以从admin-openrc.sh中获取

[root@kolla ~]# cat /etc/kolla/admin-openrc.sh
# Clear any old environment that may conflict.
for key in $( set | awk '{FS="="}  /^OS_/ {print $1}' ); do unset $key ; done
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=kolla
export OS_AUTH_URL=http://192.168.150.155:35357/v3
export OS_INTERFACE=internal
export OS_ENDPOINT_TYPE=internalURL
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne
export OS_AUTH_PLUGIN=password

默认登录后如下

在horizion查看创建的网络和实例

登录实例控制台,验证实例与外网的连通性,cirros用户密码在初次登录时有提示:

为实例绑定浮动IP地址,方便从外部ssh远程连接到实例

点击+随机分配一个浮动IP

在实例界面可以看到绑定的浮动ip

在kolla节点上或者在集群外部使用SecureCRT等ssh工具连接到实例。cirros镜像默认用户密码为cirros/gocubsgo,该镜像信息官网有介绍:https://docs.openstack.org/image-guide/obtain-images.html#cirros-test

[root@kolla ~]# ssh cirros@192.168.35.183
cirros@192.168.35.183's password:

运行CentOS实例

centos官方维护有相关cloud image,如果不需要进行定制,可以直接下载来运行实例。

参考:https://docs.openstack.org/image-guide/obtain-images.html

CentOS官方维护的镜像下载地址:http://cloud.centos.org/centos/7/images/

也可以使用命令直接下载镜像,但是下载可能较慢,建议下载好在进行上传。以centos7.8为例:

wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2003.qcow2c

下载完成后上传镜像到openstack,直接在horizon上传即可。也可以使用命令上传。

注意:默认该镜像运行的实例只能使用ssh key以centos用户身份登录,如果需要使用root远程ssh连接到实例需要在上传前为镜像配置root免密并开启ssh访问。

参考:https://blog.csdn.net/networken/article/details/106713658

另外我们的命令客户端在容器中,所有这里有些不方便,首先要将镜像复制到容器中,然后使用openstack命令上传。

这里复制到client容器的根目录下。

[root@kolla ~]# docker cp CentOS-7-x86_64-GenericCloud-2003.qcow2c client:/

[root@kolla ~]# docker exec -it client bash
()[root@f11a103c5ade /]# 
()[root@f11a103c5ade /]# source /admin-openrc.sh 

()[root@f11a103c5ade /]# ls | grep CentOS
CentOS-7-x86_64-GenericCloud-2003.qcow2c

执行以下openstack命令上传镜像

openstack image create "CentOS78-image" \
  --file CentOS-7-x86_64-GenericCloud-2003.qcow2c \
  --disk-format qcow2 --container-format bare \
  --public

创建实例

openstack server create \
    --image CentOS78-image \
    --flavor m1.small \
    --key-name mykey \
    --network demo-net \
    demo-centos

创建完成后为实例绑定浮动IP。

如果实例创建失败可以查看相关组件报错日志

[root@kolla ~]# tail -100f /var/log/kolla/nova/nova-compute.log

如果没有提前定制镜像修改root密码,只能使用centos用户及sshkey登录,由于是在容器中运行的demo示例,ssh私钥也保存在容器的默认目录下,在容器中连接实例浮动IP测试

[root@kolla ~]# docker exec -it client bash
()[root@b86f87f7f101 ~]# ssh -i /root/.ssh/id_rsa centos@192.168.35.186
Last login: Fri Oct 29 08:10:42 2021 from 192.168.35.188
[centos@demo-centos ~]$ sudo -i
[root@demo-centos ~]#

运行Ubuntu实例

下载镜像

wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
docker cp bionic-server-cloudimg-amd64.img client:/

上传镜像

openstack image create "Ubuntu1804" \
  --file bionic-server-cloudimg-amd64.img \
  --disk-format qcow2 --container-format bare \
  --public

创建实例

openstack server create \
    --image Ubuntu1804 \
    --flavor m1.small \
    --key-name mykey \
    --network demo-net \
    demo-ubuntu

绑定浮动ip

ubuntu镜像默认用户为ubuntu,首次登陆使用sshkey方式

调整集群配置

集群部署完成后需要开启新的组件或者扩容,可以修改/etc/kolla/global.yml调整参数。
或者在/etc/kolla/config目录下创建自定义配置文件,例如

# mkdir -p /etc/kolla/config/nova

# vim /etc/kolla/config/nova/nova.conf

[DEFAULT]
block_device_allocate_retries = 300
block_device_allocate_retries_interval = 3

重新配置openstack,kolla会自动重建配置变动的容器组件。

kolla-ansible -i all-in-one reconfigure -t nova

kolla配置和日志文件

  • 各个组件配置文件目录: /etc/kolla/
  • 各个组件日志文件目录:/var/log/kolla/

清理kolla ansilbe集群

kolla-ansible destroy --include-images --yes-i-really-really-mean-it
#或者
[root@kolla ~]# cd /usr/share/kolla-ansible/tools/
[root@all tools]# ./cleanup-containers
[root@all tools]# ./cleanup-host
#重置cinder卷,谨慎操作
vgremove cinder-volumes

重新部署 Kolla ansible 集群

## 清除操作

先关闭所有运行的实例,再进行下面操作

[root@kolla ~]# cd /usr/share/kolla-ansible/tools/
[root@all tools]# ./cleanup-containers
vgremove cinder-volumes

## 重建操作

pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb

kolla-ansible -i ./all-in-one deploy
kolla-ansible post-deploy

可能遇到的问题

虚拟ip分配失败

这种情况多半是由于虚拟ip没有分配到,并不是端口问题

  • 解决方法1

在全局的配置中添加/修改这个id值,必须是0-255之间的数字,并且确保在整个二层网络中是唯一的

vim /etc/kolla/globals.yml

keepalived_virtual_router_id: "199"

https://www.bianchengquan.com/article/506138.html

  • 解决方法2

https://www.nuomiphp.com/serverfault/en/5fff3e4524544316281a16b0.html

参考

https://blog.csdn.net/networken/article/details/106728002

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kolla-ansible部署Train版openstack(all-in-one) 的相关文章

  • 在 ansible shell 命令中使用 {{ 和 }}

    我的剧本里有这个 name Get facts about containers shell docker ps f name jenkins format raw Names endraw register container 请注意 我
  • Ansible add_host 不起作用,它正在跳过主机

    我正在使用 Ansible 创建一个新的 EC2 实例并尝试在其上安装一些软件包 问题是我正在向主机组添加新主机 但我在另一个游戏中看不到该主机组 当到达 配置 EC2 实例 时 它会显示 PLAY 配置EC2实例 跳过 没有匹配的主机 这
  • 使用 jinja 的 Ansible set_fact 列表

    我正在尝试学习 jinja 和 Ansible 这是在 RHEL 7 9 上 ansible 2 9 27 ansible python module location usr lib python2 7 site packages ans
  • Ansible设置mysql root密码

    你们中有人有想法构建一个 yml 用于 mysql 更新 root 密码并授予权限吗 我已经创建了我的剧本 并且在全新安装时它按预期工作 完全没有问题 但是 当我再次进行 vagrant 配置时 它现在无法设置 root 密码 并且出现错误
  • Ansible - .env 文件中的环境变量

    我正在尝试设置一个剧本 它将运行命令来检查目标计算机中安装的服务的状态 该命令仅在以下情况下才有效 env file被执行 执行的命令 env file is
  • 如何删除或排除 Ansible 模板列表中的项目?

    我正在编写一个 Ansible 模板 需要生成主机组中的 IP 列表 排除当前主机IP 我在网上和文档中进行了搜索 但找不到任何允许您删除列表中项目的过滤器 我在下面创建了 hacky for循环来执行此操作 但想知道是否有人知道这样的过滤
  • 获取 Ansible 控制机 IP 地址的最佳方法

    我正在使用 Ansible 和ufw在我的服务器上设置防火墙 作为ufw规则 我希望允许来自 Ansible 控制机的 SSH 但不允许来自其他任何地方 我的问题是 获取控制机本身的 IP 地址以便我可以将其放入规则中的最佳方法是什么 我知
  • jenkins 管道中的该模块需要 boto3 和 botocore

    我正在尝试通过 jenkins groovy 脚本运行 ansible playbook 但不断收到错误 boto3 is required 我已经安装了 boto3 pip list boto grep boto boto3 1 20 3
  • 即使在开始时已经输入,Ansible 同步也会提示密码

    Ansible v1 6 5 的同步模块提示输入密码 Enter passphrase for key 尽管我一开始就已经输入了运行剧本 知道为什么吗 我使用以下选项运行我的剧本 u myuser ask sudo pass private
  • 根据磁盘可用空间获取节点IP

    我正在尝试编写一个 Ansible 剧本来检查多个服务器上的磁盘空间 到目前为止 这是我的 Ansible 剧本 hosts all become yes tasks name Check freespace shell df h awk
  • Ansible with_items 与循环

    使用有什么区别带有项目 https docs ansible com ansible 2 4 playbooks loops html vs loops http docs ansible com ansible latest user g
  • Ansible 手册:错误! “command”不是 Play 的有效属性[重复]

    这个问题在这里已经有答案了 我只是想写一个基本的剧本 并不断收到下面的错误 尝试了很多东西但仍然无法做到正确 我知道这一定是语法问题 但不知道在哪里 这是我的代码 This playbook runs a basic DF command
  • 如果不满足某些条件,如何跳过ansible剧本中的所有其他剧本?

    我在下面的剧本中有多个剧本 如果不满足某些条件 我想忽略所有其他戏剧 因此 对于下面的示例 如果我在中找不到任何新文件Play1然后我不想执行Play2 and Play3根本没有 它应该跳过它 我怎样才能做到这一点 I have end
  • 安装 openstack 时发生错误:./stack.sh:137:die

    我尝试使用以下命令通过 devstack 安装 openstack git 克隆https github com openstack dev devstack git https github com openstack dev devst
  • 如何从用户定义的 ansible.cfg 设置 ansible_config 变量

    我有一个目录结构 在其中保存我的剧本 如下所示 home monk Ansible work ansible cfg playbook dir 1 playbook 1 yml playbook dir 2 playbook 2 yml p
  • 附加到 group_vars 中的 Ansible 字典而不使用 hash_behaviour = merge

    我想定义一个字典变量 各个主机组可以将自己的密钥添加到其中在group vars中 不使用set fact 例如 像这样的东西 group vars ftp servers yml important ports ftp 21 group
  • Ansible 和硬件检查

    我必须使用 ansible 检查 Linux 机器上的不同硬件和配置元素 我完全不确定如何做到这一点 RAM 磁盘空间 DNS CPU 我知道我几乎可以找到我想要的所有事实都在 ansible 中 但我不明白如何使用它 例如 我必须检查 R
  • 在ansible中合并字典

    我目前正在构建一个使用 ansible 安装 PHP 的角色 并且在合并字典时遇到一些困难 我尝试了多种方法来做到这一点 但我无法让它像我想要的那样工作 A vars file my default values key value my
  • Ansible 测试变量以什么开头

    我需要能够安装 MySQL 库 Python 有 1 个用于 v2 的包和另一个用于 v3 的包 我需要能够告诉 Ansible 要安装哪个包 name Ensure MySQL python is installed pip name M
  • 使用 ansible 'Docker login' 和 _json_key Docker 登录到 GCE

    我正在尝试编写一个 ansible 角色 首先执行以下操作docker login从容器注册表中提取映像之前 将其复制到 GCE 实例 由于提到的问题 我需要这样做here https stackoverflow com questions

随机推荐

  • webapp打包为Android的apk包的一种方法

    开发了个纯web的app小demo 想着最终集成到微信公众号上做个小功能 xff0c 并测试下如何跨平台的运行在Android上 关于如何打包为Android的安装包 xff0c 总结了下其中的一种方法 xff0c 使用cordova打包为
  • 滤波算法(二)—— 中位值滤波算法

    1 算法介绍 中位值滤波算法的实现方法是采集N个周期的数据 xff0c 去掉N个周期数据中的最大值和最小值 xff0c 取剩下的数据的平均值 中位值滤波算法特别适用于会偶然出现异常值的系统 中位值滤波算法应用比较广泛 xff0c 比如用于一
  • C++可变参数使用总结

    可变参数是指函数可以接受不定数量的参数 比如在printf函数 xff0c 如果做日志等功能也会用到 这里总结下可变参数的使用 c语言中的可变参数 先介绍下在c语言中的使用 xff0c c语言也支持可变参数 xff0c 只是需要借助下va
  • 替代notepad++,notepad--介绍及插件cmake编译

    Notepad 43 43 是一个文本编辑器小软件 xff0c 用来替代windows自带的记事本 然而Notepad 43 43 软件的作者太霸道 xff0c 如果你不赞同他的观点 xff0c Notepad 43 43 将会在你的源码里
  • [环境搭建] onlyoffice环境搭建(docker-compose)

    只介绍环境搭建 不介绍集成 一 环境要求 内核 xff1a Linux 操作系统 xff1a centos 或者 ubuntu 容器环境 xff1a docker 容器镜像 xff1a onlyoffice documentserver 二
  • WSL:系统迁移【WSL默认安装在C盘,可以将虚拟机移到任意位置】

    因为虚拟机 xff08 Ubuntu22 04 xff09 默认安装在C盘 xff0c 大量占用系统盘的空间 xff0c 所以迁移到其他盘中 查看安装的虚拟机 wsl l v 关闭所有正在运行的虚拟机 wsl shutdown 对需要迁移的
  • Microsoft 365 Copilot怎么安装,如何下载?

    Microsoft 365 Copilot是一款基于人工智能的数字助手 xff0c 旨在帮助Microsoft 365商业版的用户更轻松地管理其工作流程 它可以提供实时反馈 自动生成报告 优化时间表以及自动化办公任务等功能 xff0c 这些
  • 关于Sublime Text4 _4126

    目录 前言 一 下载安装 下载安装 二 汉化 Install PackageChineseLocalzations 三 激活 进入hexed网站编辑编辑改码另存为 四 运行 successfully 总结 前言 怕以后忘了 xff0c 上操
  • CSDN编写技巧--CSDN中高亮显示代码

    介绍一种好的格式如下 xff1a 实现的方法就是以原代码的形式显示页面 xff0c 然后复制以下代码 xff1a lt div style 61 34 BORDER BOTTOM cccccc 1px dashed BORDER LEFT
  • 去掉jOSN中的转义符

    json返回全都是带 39 39 的 于是要去掉这个反斜杠 但是OC里面的 39 39 是转义符 不能直接用 64 34 34 之类的表示 一顿搜索之后 找到了OC对转义字符的表示方法 如下 a Sound alert b 退格 f For
  • 微软 Win11 一个命令安装 Windows Linux 子系统(WSL)

    在最新的 Windows 11操作系统中 xff0c 你只需运行 wsl exe install 就可以安装运行 WSL 所需的一切 使用 wsl install 微软表示 xff0c 以前设置 WSL 的过程过于复杂 xff0c 涉及到开
  • linux服务器xrdp远程链接密码对了却password failed解决方法

    linux服务器xrdp远程链接密码对了却password failed解决方法 遇到问题问题定位解决参考链接 遇到问题 在win10下用自带的远程连接登陆服务器 xff0c 明明密码对了 xff0c 却无法登陆 xff0c 显示 pass
  • 滤波算法(四)—— 卡尔曼滤波算法

    一 算法介绍 卡尔曼滤波是一个神奇的滤波算法 xff0c 应用非常广泛 xff0c 它是一种结合先验经验 测量更新的状态估计算法 1 状态估计 首先 xff0c 对于一个我们关心的物理量 xff0c 我们假设它符合下面的规律 其中 xff0
  • selenium-Firefox浏览器驱动geckodriver的下载配置

    首先下载Firefox的驱动 xff0c 地址 xff1a geckodriver Mirror 选择最新的版本 xff0c 进入后选择对应的系统下载 xff1a 将下载下来的文件放入到自己python的安装目录中的Scripts文件夹中即
  • 行人检测之HOG——方向梯度直方图(Histogram of Oriented Gradient)

    写在前面的话 HOG 绝对说的是行人检测领域的一个标志性的里程碑 xff0c 虽然 2008 年出现的 DPM DeformablePart Model 方法取得了更好的检测效果 xff0c 但是实时性实在堪忧 xff0c 就算用多线程实现
  • Feedback Network for Image Super-Resolution(SRFBN)---翻译

    attention xff1a 只详细翻译了重点部分 摘要 图像超分辨率 xff08 SR xff09 的最新进展展现了深度学习的力量 xff0c 可以实现更好的重建性能 然而 xff0c 现有的基于深度学习的图像SR方法尚未充分利用人类视
  • UIControlEvents的几种类型值

    在实现响应事件的方法时 xff0c 需要传递响应类型 比如为button添加selector方法 首先 xff0c UIControlEvents有这个几种 xff1a UIControlEventTouchDown 61 1 lt lt
  • 【Rust】Iced GUI库初使用及踩坑——写一个计数器

    该文写于去年8月份 xff0c 目前iced更新到0 7已有些许API改动 xff0c 本文内容已有部分错误 xff0c 但仍有借鉴价值 写在前面 从5月份起 xff0c 我一直在寻找一个可用的 xff0c 稳定的 xff0c 开发者友好的
  • 低成本二进制部署K8S1.26版本集群

    本文以华为云为例 xff0c 低成本二进制方式测试部署K8S集群 xff08 V1 26 1 xff09 温馨提示 xff1a 首次使用公有云一定要注意新用户优惠 xff0c 最好用于购买云服务器 xff0c 长期持有的服务器资源可支持域名
  • kolla-ansible部署Train版openstack(all-in-one)

    本文最后更新于 207 天前 xff0c 其中的信息可能已经有所发展或是发生改变 kolla ansible简介 kolla 的使命是为 openstack 云平台提供生产级别的 开箱即用的交付能力 kolla 的基本思想是一切皆容器 xf