kolla-ansible ussuri 集群扩展计算节点
一 摘要
本文是基于上文[openstack ussuri版本基于内网三台物理机集群kolla-ansible部署及与ceph 集群 集成](https://www.cnblogs.com/weiwei2021/p/14200722.html)。
研究如何扩展一台计算节点。
二 环境信息
(一)openstack 版本
ussuri 版
(二)硬件信息
品牌 | 型号 | 网卡 | IP | 配置 |
---|---|---|---|---|
浪潮 | SA5212M5 | eth0 | 10.3.176.46 | 5118 * 2/240G * 2/4T * 2/32G * 24/T4 |
三 部署规划
机器名 | 网卡 | IP | VIP | 角色 |
---|---|---|---|---|
ussuritest004.cloud.chouniu.fun | eth0 | 10.3.176.46 | 计算节点 |
四 实施
(一)准备工作
4.1.1 安装操作系统
安装centos8.1.1911 版本,具体安装过程略。
4.1.2 插GPU卡
这台机器采购时不带gpu卡,断电装上自购的T4卡,然后通电重启,检查gpu卡是否识别。
[root@localhost ~]# lspci | grep -i nvidia
af:00.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)
[root@localhost ~]#
4.1.3 网卡修改为eth0
请参考centos7 centos8 修改网卡名称为eth0
4.1.4 配置dns
[dev@10-3-170-32 base]$ ansible-playbook modifydns.yml
4.1.4 配置内网 yum 源
[dev@10-3-170-32 base]$ ansible-playbook upateyum.yml
4.1.5配置内网时间服务器
[dev@10-3-170-32 base]$ ansible-playbook modifychronyclient.yml
4.1.6 关闭防火墙和selinux
dev@10-3-170-32 base]$ ansible-playbook closefirewalldandselinux.yml
4.1.7配置dns及修改机器名
首先在内网dns 系统里新增域名 ussuritest004.cloud.kxdigit.com 解析到10.3.176.46
然后在修改主机名
[root@localhost ~]# hostnamectl set-hostname ussuritest004.cloud.kxdigit.com
最后重启下机器
4.1.8 安装docker
安装docker且
新增 /etc/systemd/system/docker.service.d/kolla.conf
参考[openstack ussuri版本基于内网三台物理机集群kolla-ansible部署及与ceph 集群 集成](https://www.cnblogs.com/weiwei2021/p/14200722.html)
4.1.9 禁用禁用libvirt
[root@ussuritest004 docker.service.d]# systemctl stop libvirtd.service && systemctl disable libvirtd.service && systemctl status libvirtd.service
Removed /etc/systemd/system/multi-user.target.wants/libvirtd.service.
Removed /etc/systemd/system/sockets.target.wants/virtlogd.socket.
Removed /etc/systemd/system/sockets.target.wants/virtlockd.socket.
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2021-01-19 15:57:40 CST; 115ms ago
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 6712 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/libvirtd.service
├─7047 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leases>
└─7048 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leases>
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq[7047]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP>
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq-dhcp[7047]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 1h
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq-dhcp[7047]: DHCP, sockets bound exclusively to interface virbr0
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq[7047]: reading /etc/resolv.conf
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq[7047]: using nameserver 10.3.157.201#53
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq[7047]: read /etc/hosts - 2 addresses
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq[7047]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Jan 19 15:44:04 ussuritest004.cloud.kxdigit.com dnsmasq-dhcp[7047]: read /var/lib/libvirt/dnsmasq/default.hostsfile
Jan 19 15:57:40 ussuritest004.cloud.kxdigit.com systemd[1]: Stopping Virtualization daemon...
Jan 19 15:57:40 ussuritest004.cloud.kxdigit.com systemd[1]: Stopped Virtualization daemon.
lines 1-20/20 (END)
4.1.10 激活第二张网卡
该网卡不需要配置地址,但需要激活
新增配置
[root@ussuritest004 network-scripts]# nmcli connection add type ethernet con-name eth0 ifname eth1
Warning: There is another connection with the name 'eth0'. Reference the connection by its uuid 'ecdc0f79-013a-4779-9721-ea1d04d11720'
Connection 'eth0' (ecdc0f79-013a-4779-9721-ea1d04d11720) successfully added.
[root@ussuritest004 network-scripts]#
修改配置
主要是修改
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=71894ec7-bcec-439a-81a0-1bffab76a307
DEVICE=eth1
ONBOOT=yes
激活
root@ussuritest004 network-scripts]# nmcli c reload /etc/sysconfig/network-scripts/ifcfg-eth1
[root@ussuritest004 network-scripts]#
验证
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.3.176.46 netmask 255.255.252.0 broadcast 10.3.179.255
inet6 fe80::575d:fe74:b231:ad4b prefixlen 64 scopeid 0x20<link>
ether 6c:92:bf:a2:2b:d0 txqueuelen 1000 (Ethernet)
RX packets 61447 bytes 48065896 (45.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4885 bytes 477622 (466.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::10f3:1b61:a13f:19e8 prefixlen 64 scopeid 0x20<link>
ether 6c:92:bf:a2:2b:d1 txqueuelen 1000 (Ethernet)
RX packets 8787 bytes 607717 (593.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 173 bytes 26703 (26.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth2: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 6c:92:bf:a2:2b:d2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
好像是 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
RUNNING 代表网卡激活
4.1.11 部署节点免密登录到该计算节点
部署节点是10.3.176.2 在上面做免密登录到10.3.176.46
[dev@10-3-170-32 base]$ ssh root@10.3.176.2
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Tue Jan 19 14:17:57 2021 from 10.3.170.32
[root@ussuritest001 ~]# ssh-copy-id root@10.3.176.46
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '10.3.176.46 (10.3.176.46)' can't be established.
ECDSA key fingerprint is SHA256:RLr9ud5uf1PjzOA8wjJJA2X1mtbE072rhwFPaBprOVo.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.3.176.46's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@10.3.176.46'"
and check to make sure that only the key(s) you wanted were added.
[root@ussuritest001 ~]#
4.1.11 安装pip3
[root@ussuritest004 ~]# whereis pip3.6
pip3: /usr/bin/pip3 /usr/bin/pip3.6 /usr/share/man/man1/pip3.1.gz
[root@ussuritest004 ~]# ln -s /usr/bin/pip3.6 /usr/bin/pip
[root@ussuritest004 ~]# pip -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
[root@ussuritest004 ~]#
4.1.12 安装基础依赖
[root@ussuritest004 dependencies]# dnf install python3-devel libffi-devel gcc openssl-devel python3-libselinux git vim bash-completion net-tools
4.1.13 安装基础依赖docker-4.2.1-py2.py3-none-any.whl
该包不安装 做prechecks 会报错。
[root@ussuritest004 kollapip]# pip install docker-4.2.1-py2.py3-none-any.whl --no-index --find-links .
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip install --user` instead.
Processing ./docker-4.2.1-py2.py3-none-any.whl
Requirement already satisfied: six>=1.4.0 in /usr/lib/python3.6/site-packages (from docker==4.2.1)
Requirement already satisfied: requests!=2.18.0,>=2.14.2 in /usr/lib/python3.6/site-packages (from docker==4.2.1)
Collecting websocket-client>=0.32.0 (from docker==4.2.1)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python3.6/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.2.1)
Requirement already satisfied: idna<2.8,>=2.5 in /usr/lib/python3.6/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.2.1)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/lib/python3.6/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.2.1)
Installing collected packages: websocket-client, docker
Successfully installed docker-4.2.1 websocket-client-0.57.0
[root@ussuritest004 kollapip]# pwd
/root/software/ussuri/kollapip
[root@ussuritest004 kollapip]#
(二)安装openstack
4.2.1 修改multinode
备份原文件,在计算配置下 新增ussuritest004.cloud.kxdigit.com
[root@ussuritest001 ansible]# cp multinode multinode.bak.20210119allinthree
[root@ussuritest001 ansible]# vim multinode
[root@ussuritest001 ansible]# pwd
/root/ansible
[root@ussuritest001 ansible]#
[compute]
#compute01
ussuritest001.cloud.kxdigit.com
ussuritest002.cloud.kxdigit.com
ussuritest003.cloud.kxdigit.com
ussuritest004.cloud.kxdigit.com
4.2.2 预检查
[root@ussuritest001 software]# kolla-ansible -v -i /root/ansible/multinode prechecks
检查结果
PLAY RECAP ************************************************************************************************************************************
localhost : ok=15 changed=0 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0
ussuritest001.cloud.kxdigit.com : ok=57 changed=0 unreachable=0 failed=0 skipped=238 rescued=0 ignored=0
ussuritest002.cloud.kxdigit.com : ok=55 changed=0 unreachable=0 failed=0 skipped=226 rescued=0 ignored=0
ussuritest003.cloud.kxdigit.com : ok=55 changed=0 unreachable=0 failed=0 skipped=226 rescued=0 ignored=0
ussuritest004.cloud.kxdigit.com : ok=31 changed=0 unreachable=0 failed=0 skipped=30 rescued=0 ignored=0
4.2.3 拉取镜像
[root@ussuritest001 software]# kolla-ansible -v -i /root/ansible/multinode pull
Pulling Docker images : ansible-playbook -i /root/ansible/multinode -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml -e CONFIG_DIR=/etc/kolla -e kolla_action=pull /usr/local/share/kolla-ansible/ansible/site.yml --verbose
PLAY RECAP ************************************************************************************************************************************
localhost : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ussuritest001.cloud.kxdigit.com : ok=37 changed=0 unreachable=0 failed=0 skipped=97 rescued=0 ignored=0
ussuritest002.cloud.kxdigit.com : ok=37 changed=0 unreachable=0 failed=0 skipped=96 rescued=0 ignored=0
ussuritest003.cloud.kxdigit.com : ok=37 changed=0 unreachable=0 failed=0 skipped=96 rescued=0 ignored=0
ussuritest004.cloud.kxdigit.com : ok=15 changed=5 unreachable=0 failed=0 skipped=9 rescued=0 ignored=0
[root@ussuritest001 software]#
[root@ussuritest004 kollapip]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.kxdigit.com/kolla/centos-source-nova-compute ussuri b41fd82a0eed 3 weeks ago 2.02GB
registry.kxdigit.com/kolla/centos-source-nova-ssh ussuri a7107a92c35c 3 weeks ago 1.15GB
registry.kxdigit.com/kolla/centos-source-neutron-openvswitch-agent ussuri 43d1aa96a99e 3 weeks ago 1.06GB
registry.kxdigit.com/kolla/centos-source-openvswitch-vswitchd ussuri feeeaf740a8d 3 weeks ago 437MB
registry.kxdigit.com/kolla/centos-source-openvswitch-db-server ussuri 5d30076c87dc 3 weeks ago 437MB
registry.kxdigit.com/kolla/centos-source-kolla-toolbox ussuri 926bd6a806bc 3 weeks ago 811MB
registry.kxdigit.com/kolla/centos-source-nova-libvirt ussuri 7798eb2a9fa6 3 weeks ago 1.31GB
registry.kxdigit.com/kolla/centos-source-fluentd ussuri 6b07e84bdc3b 3 weeks ago 637MB
registry.kxdigit.com/kolla/centos-source-cron ussuri ff783b02c9ab 3 weeks ago 313MB
registry.kxdigit.com/kolla/centos-source-chrony ussuri 8e433346635d 3 weeks ago 313MB
[root@ussuritest004 kollapip]#
4.2.4 部署新增的计算节点
[root@ussuritest001 software]# kolla-ansible -v -i /root/ansible/multinode deploy
经观察这个命令是增量命令,如果该节点上容器已经运行,则不会重启。
4.2.5 验证
经验证该计算节点,已成功部署计算服务。
[root@ussuritest004 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8f08ca343b8d registry.kxdigit.com/kolla/centos-source-neutron-openvswitch-agent:ussuri "dumb-init --single-…" 15 hours ago Up 15 hours neutron_openvswitch_agent
9a054b4e9fc7 registry.kxdigit.com/kolla/centos-source-openvswitch-vswitchd:ussuri "dumb-init --single-…" 15 hours ago Up 15 hours openvswitch_vswitchd
85c86a4b0435 registry.kxdigit.com/kolla/centos-source-openvswitch-db-server:ussuri "dumb-init --single-…" 15 hours ago Up 15 hours openvswitch_db
387f692c5b05 registry.kxdigit.com/kolla/centos-source-nova-compute:ussuri "dumb-init --single-…" 15 hours ago Up 15 hours nova_compute
8531322a2b10 registry.kxdigit.com/kolla/centos-source-nova-libvirt:ussuri "dumb-init --single-…" 15 hours ago Up 15 hours nova_libvirt
38994a403da7 registry.kxdigit.com/kolla/centos-source-nova-ssh:ussuri "dumb-init --single-…" 15 hours ago Up 15 hours nova_ssh
a81e2e337eb5 registry.kxdigit.com/kolla/centos-source-chrony:ussuri "dumb-init --single-…" 15 hours ago Up 15 hours chrony
c0d69ed11378 registry.kxdigit.com/kolla/centos-source-cron:ussuri "dumb-init --single-…" 16 hours ago Up 16 hours cron
f6cb11bf7104 registry.kxdigit.com/kolla/centos-source-kolla-toolbox:ussuri "dumb-init --single-…" 16 hours ago Up 16 hours kolla_toolbox
45f27038c773 registry.kxdigit.com/kolla/centos-source-fluentd:ussuri "dumb-init --single-…" 16 hours ago Up 16 hours fluentd
[root@ussuritest004 ~]#
posted on 2021-01-19 14:46 weiwei2021 阅读(645) 评论(0) 编辑 收藏 举报