RHCA cl210 013 制作镜像 轮转key rabbitmq追踪 写时复制 keystone多域登录图形界面

undercloud 部署 overcloud
overcloud控制节点上的组建rabbitmq

排错需要rabbitmq,开启追踪则会更详细,会消耗性能

环境问题

登录一下classroom
osp13 环境需要固定时间到2020年,然后fullreset其他主机,不关机时间不会变

lab controlplane-message setup 执行成功会出现两个配置文件

一个管理员一个租户

172.25.250.50:5000/v3 为keystone地址
登录使用用户所属域登录

rambbitmq

rabbitmq以容器的方式运行的
[root@controller0 ~]# docker ps | grep rabbit
8c323e2eceaa        172.25.249.200:8787/rhosp13/openstack-rabbitmq:pcmklatest              "/bin/bash /usr/lo..."   54 minutes ago      Up 54 minutes                                        rabbitmq-bundle-docker-0
[root@controller0 ~]# 

docker exec -it 8c323e2ec  /bin/bash   没有bash就试试sh



()[root@controller0 /]# rabbitmqctl list_queues
Listing queues
q-reports-plugin_fanout_dd3d205f13f84eb4abff5217310fef60        0
conductor_fanout_d2dfe478340e4b8984d5f32218ec887e       0
engine  0
q-plugin        0
alarming.sample 0
q-plugin.controller0.overcloud.example.com      0
reply_66c462bc74bb46e187bb12c7fffde52a  0
notifications.info      0
manila-scheduler        0

列出队列的消息有多少个要被处理
0就是没有
如果有很多可能就会出问题

组建端口号 ss -tanu | grep xxx 查一查就行

可以在容器外开机rabbit追踪

[root@controller0 ~]# docker exec -i 8c323 rabbitmqctl  trace_on
Starting tracing for vhost "/"

[root@controller0 ~]# ls
overcloud-full-rpm.manifest  overcloud-full-signature.manifest  rmq_trace.py
出现一个py的文件    (lab命令生成的,工作当中得自己写)


[root@controller0 ~]# docker exec -i 8c323 rabbitmqctl  list_users
Listing users
guest   [administrator]

需要通过一个新用户追踪,guest原本就有

创建rabbit用户 (考试)

[root@controller0 ~]# docker exec -i 8c323 rabbitmqctl  --help | grep user
Error: could not recognise command
add_user <username> <password>
delete_user <username>
change_password <username> <newpassword>
clear_password <username>
authenticate_user <username> <password>
set_user_tags <username> <tag> ...
list_users
set_permissions [-p <vhost>] <user> <conf> <write> <read>
clear_permissions [-p <vhost>] <username>
list_user_permissions <username>
channels, protocol, auth_mechanism, user, vhost, timeout, frame_max, 
user, vhost, transactional, confirm, consumer_count, messages_unacknowledged, 
[root@controller0 ~]# 

创建用户

[root@controller0 ~]# docker exec -i 8c323 rabbitmqctl  add_user  user1  redhat
Creating user "user1"
[root@controller0 ~]# docker exec -i 8c323 rabbitmqctl  list_users
Listing users
user1   []
guest   [administrator]

打标签

[root@controller0 ~]# docker exec -i 8c323 rabbitmqctl  set_user_tags user1  administrator
Setting tags for user "user1" to [administrator]
[root@controller0 ~]# docker exec -i 8c323 rabbitmqctl  list_users
Listing users
user1   [administrator]
guest   [administrator]

赋权

docker exec -i 8c323 rabbitmqctl  set_permissions user1 ".*" ".*" ".*" 
Setting permissions for user "user1" in vhost "/"
[root@controller0 ~]# 
赋权
.* 任意的所有的

./rmq_trace.py  -u user1   -p redhat  -t 172.24.1.1  > /tmp/trace.txt
-t  172.24.1.1监听controller0 

创建云主机

openstack server  create --image rhel7  --flavor default  --security-group  default  --key-name example-keypair --nic net-id=finance-network1 finance-server2 --wait

实例运行起来才会释放终端 --wait

openstack image list

openstack keypair list

openstack security group list

openstack network list

查看到信息用在openstack server create上

[root@controller0 tmp]# ls
systemd-private-a553c85ed0f64fceacbc5dcbbdbe634e-ntpd.service-r2q3iL  trace.txt
tmp.BhMtbIL4Co
[root@controller0 tmp]# 

可以去查trace.txt

docker exec -i 8c323 rabbitmqctl trace_off
关闭消息队列

结束
[root@controller0 tmp]# pcs resource show
查看集群

vnc登录

通过访问5900的controller0转发到 计算节点

keystone

图形界面允许登录多域

vi    /var/lib/config-data/horizon/etc/openstack-dashboard/local_setting
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
vi /var/lib/config-data/keystone/etc/keystone.conf
domain_specific_drivers_enabled=True
docker restart horizon
docker restart keystone

轮转key

fernet 不存在后端
存在控制节点
/var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys
0 未来的key 1 当前的key

可以设置轮转共保留key,5个
未来key为0,轮转后变为最大值,过期key=当前key,当前key+1 [轮转后]
过期key 未来key 当前key都有可能解密
过期key属于你提前轮转了,未来key属于其他节点先轮转了


16小时内轮转4次,过期的token会无效,退出重新登录,不断刷新token保证安全性,不放在后端也解决了token滞留影响性能

考试需要手动轮转
考试有产品文档,去那里查命令

手动轮转

轮转后
多一个key

制作镜像

raw性能最高,没有特性,没有压缩
qcow2可以有特性,有快照

KVM
实例 系统盘可以来自 文件 (qcow2) /dev/sdb 磁盘
qcow2 = qemu+cow

KVM 计算虚拟化
qemu 模拟网卡磁盘设备
现在她两被整合


未装系统,所以很小,装系统会越来越大

这是一个镜像文件

如果是raw,分配10G,立即给你用上10G
她两可以转换 qcow2 转换 raw

qeum-img convert -f qcow2 -O raw osp-small.qcow2 osp-small.raw

qcow2 写时复制 (与快照写实复制区分开来)

cow = copy on write
镜像格式为qcow2 通过此镜像发放云主机
将镜像拷贝的计算节点上去,方便启动云主机,多个云主机共用一个镜像,母盘

这是镜像,母盘

差分盘在ceph里面,差分盘们共用母盘,母盘只读,无法更改
差分盘 qcow2最小存储单元叫簇 以簇为单位
修改的数据肯定放在差分盘,但是否以为簇为单位呢,假设簇为64k,你在差分盘改了20k
剩余44k呢?所以得把剩余的44k也拷贝到差分盘,让它以最小单位簇读取。这叫写实复制
改的一部分在差分盘当中,簇剩下的,也拷贝到差分盘当中。先写再复制。(差分盘读一点母盘读一点不现实,不效率)

qemu-img info disk.qcow2 查看此镜像
使用ceph镜像被转为raw格式可以使用ceph RBD的快照功能 (使用ceph给raw(rbd)打快照)

自定义镜像

从一个基础镜像之上开始构建
guestfish
安装包libguestfs-tools-c
拉一个基础镜像
wget http://materials.example.com/osp-small.qcpw2
进入镜像
guestfish -i --network -a ~/osp-small.qcow2
(-i自动挂载分区 -a指定镜像 --network启用网络 )

><fs> command 'yum -y install httpd'

><fs> command 'systemctl enable httpd'

><fs> command 'systemctl start httpd'

><fs> command 'ls /var/www/'
cgi-bin
html

><fs> touch /var/www/html/index.html
><fs> vi /var/www/html/index.html 
hello mqy

:x
><fs> command 'useradd mqy'
创建的文件都未打标签,未来可能起不来
所以打标签
><fs> command 'ls /etc/selinux/targeted/contexts/files/file_contexts'

><fs> selinux-relabel /etc/selinux/targeted/contexts/files/file_contexts /

上传镜像
--min-disk --min-raw 最小磁盘 规格与镜像匹配
openstack image create --disk-format qcow2 --file osp-small.qcow2 small

发放实例

openstack server  create --image small  --flavor default  --security-group  default  --key-name example-keypair --nic net-id=finance-network1 finance-server2 

[student@workstation ~(developer1-finance)]$ openstack network show  provider-datacentre  查看这个网络是否为外网

[student@workstation ~(developer1-finance)]$ openstack floating ip create provider-datacentre

[student@workstation ~(developer1-finance)]$ openstack floating ip list

[student@workstation ~(developer1-finance)]$ openstack server add floating ip finance-server2 172.25.250.104

开启安全组
[student@workstation ~(developer1-finance)]$ curl 172.25.250.104
hello mqy

终于把环境玩明白了
classroom启动时会同步f0的时间.更改f0时间,重启classroom。
所有服务启动起来时,需要耐心等待,不行就重启keystone 与 horizon

posted @ 2022-06-11 16:41  supermao12  阅读(95)  评论(0编辑  收藏  举报