CL201课堂笔记-RCHA认证之路-OpenStack DAY ONE - PM

DAY ONE - PM


修改容器配置文件的两种方法:
  1. 登陆DOCKER内,修改相应配置文件

    [root@controller0 ~] docker exec -it keystone bash
    ()[root@controller0 /] vi /etc/keystone/keystone.conf
    
  2. 登陆controller0 修改容器映射的配置,下面目录为docker配置文件映射目录,docker目录对应运行docker名称

cd /var/lib/config-data/puppet-generated/
查看dashboard的ip地址(docker:horizon)
(undercloud) [stack@director ~]$ cat overcloudrc
# Clear any old environment that may conflict.
for key in $( set | awk '{FS="="}  /^OS_/ {print $1}' ); do unset $key ; done
export OS_NO_CACHE=True
export COMPUTE_API_VERSION=1.1
export OS_USERNAME=admin
export no_proxy=,172.25.250.50,172.25.249.50
export OS_USER_DOMAIN_NAME=Default
export OS_VOLUME_API_VERSION=3
export OS_CLOUDNAME=overcloud
export OS_AUTH_URL=http://172.25.250.50:5000//v3  #访问外网的地址,是keystone,同时也是 dashboard-ip
export NOVA_VERSION=1.1
export OS_IMAGE_API_VERSION=2
export OS_PASSWORD=redhat                        #
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
export OS_PROJECT_NAME=admin
export OS_AUTH_TYPE=password
export PYTHONWARNINGS="ignore:Certificate has no, ignore:A true SSLContext object is not available"

# Add OS_CLOUDNAME to PS1
if [ -z "${CLOUDPROMPT_ENABLED:-}" ]; then
    export PS1=${PS1:-""}
    export PS1=\${OS_CLOUDNAME:+"(\$OS_CLOUDNAME)"}\ $PS1
    export CLOUDPROMPT_ENABLED=1
fi

考试时候,不会告诉dashboard的IP地址:export OS_AUTH_URL=http://172.25.250.50:5000//v3

用户名:export OS_USERNAME=admin

密码:export OS_PASSWORD=redhat

  1. 看一下overcloudrc文件的IP地址。

  2. dashboard容器名称:horizon,在controller0上

  3. 考试时候绝大部分会遇到,访问不了,打不开。 需要重启horizon这个容器。或者修改horizon之后,也需要重启docker。

    指令:docker restart horizon

练习:VIEWING THE UNDERCLOUD ARCHITECTURE

特殊用户heat-admin是免密用户,sudo -i直接可以切换到root。

注意:swift容器状态不正常外,其他容器状态应该都正常。

关于网络查看命令
(undercloud) [stack@director ~]$ openstack subnet list
+--------------------------------------+---------------------+--------------------------------------+-----------------+
| ID                                   | Name                | Network                              | Subnet          |
+--------------------------------------+---------------------+--------------------------------------+-----------------+
| 1653cf28-1da7-4bb7-b060-872a0da6c0d1 | external_subnet     | 444ad6f9-7ad8-43d6-a825-37ff9cbc63c5 | 172.25.250.0/24 |
| 243a4564-e344-4d80-9eeb-972287a4b8ae | management_subnet   | 37a81453-9f5e-415d-90e5-14bdb1858806 | 172.24.5.0/24   |
| 30e75947-64c2-4961-9b49-67b066e54fe8 | internal_api_subnet | 60c574f1-cb7d-4f37-8dd6-4f76a2d0218c | 172.24.1.0/24   |
| 45dce459-6e9d-40dc-a4d5-ef2e91de6ec7 | ctlplane-subnet     | 2c9cee9a-e797-462e-ba76-efaa564b7b7f | 172.25.249.0/24 |
| be6d8ef9-ea6a-436f-a1f7-2d085336667c | storage_mgmt_subnet | 7029b988-a1a2-405d-9809-d051c8a726d8 | 172.24.4.0/24   |
| d551f63e-d144-4c0a-8a1b-8892aa40ae78 | tenant_subnet       | d1cc495b-dda5-4c0e-812a-bd79708716d4 | 172.24.2.0/24   |
| f8b997e4-f5f5-46ac-92a2-079340aa0dde | storage_subnet      | 352efe55-3af2-4e26-abf6-6f2d388c6a1a | 172.24.3.0/24   |
+--------------------------------------+---------------------+--------------------------------------+-----------------+
(undercloud) [stack@director ~]$ openstack subnet show external_subnet
+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| allocation_pools  | 172.25.250.60-172.25.250.99          |
| cidr              | 172.25.250.0/24                      |
| created_at        | 2018-10-23T13:55:27Z                 |
| description       |                                      |
| dns_nameservers   |                                      |
| enable_dhcp       | False                                |
| gateway_ip        | 172.25.250.254                       |
| host_routes       |                                      |
| id                | 1653cf28-1da7-4bb7-b060-872a0da6c0d1 |
| ip_version        | 4                                    |
| ipv6_address_mode | None                                 |
| ipv6_ra_mode      | None                                 |
| name              | external_subnet                      |
| network_id        | 444ad6f9-7ad8-43d6-a825-37ff9cbc63c5 |
| project_id        | f50fbd0341134b97a5a735cca5d6255c     |
| revision_number   | 0                                    |
| segment_id        | None                                 |
| service_types     |                                      |
| subnetpool_id     | None                                 |
| tags              |                                      |
| updated_at        | 2018-10-23T13:55:27Z                 |
+-------------------+--------------------------------------+
练习命令
  1. openstack subnet list –> 查看自网络信息:
  2. openstack subnet show external_subnet –> 查看自网络详细信息
  3. docker images –> 列出用于创建服务器的景象;
  4. docker inspect –> 检查容器
  5. docker logs –> 检查keystone启动日志文件;
  6. docker exec –> 确定keystone容器中OpenStack服务器状态:docker exec -it keystone /openstack/healthcheck;
  7. docker stop –> 停止容器;

描述OVERCLOUD

Openstack核心组件

私有管理平台->Iaas管理平台

控制器节点上的OpenStack核心服务

组件名作用描述
★ keystone身份验证所有组件都需要身份验证
★ glance镜像服务云主机镜像启动
★ nova核心计算服务controller和compute控制节点角色:资源管理和调度
heat编排模板,批量化创建主机与应用
swift对象存储默认3副本
cinder块存储附加存储,需要格式化
★ neutron网络服务相当于公有云VPC SDN,虚拟网络、子网、路由器和防火墙等
mysql/mariadb数据库
RabbitMQ消息队列消息传递服务提供多种OpenStack服务之间的内部通信。
ceilmeter计费
manila共享文件系统服务
octavia负载平衡服务
gnocchi指标服务提供有关云使用量、账单、放置、退款和容量规划的智能分析。
mistral工作流服务
redis内存数据库
memcached缓存数据库
pacemaker集群软件关键服务、组件都是集群的。
noVNC终端软件console访问复杂图形化SPICE(相当于RDP)
OVERCLOUD上操作

openstack user list –> 每一个组件都对应了keystone 一个用户;

创建云主机
  1. 创建project

  2. 划分资源给project

  3. 创建用户分配给project,选择角色

  4. 创建实例,需要什么资源?镜像、私有网络、规格(vcpu\mem\storage)、安全组和keypair(OpenStack只能使用密钥登陆)、公网地址(浮动ip)。

    操作:顶部先选择 –> amdin –> Project –> Create Project -> Create User

    login user1 -> image –> Create Image –> 顶部先选择 –> amdin -> flavor -> 自己的network -> Create Router -> Add interface -> Security Group -> add rule -> compute -> keypairs -> instance -> Manage Floating IP Associatios -> view log -> ssh -I key1.pem cloud-user@172.25.250.X

    配置overcloudrc文件,cp overcloudrc overcloudrc-user1修改OS_PROJECT_NAME=project1,OS_USERNAME=user1,验证openstack server list.

镜像地址:materials.example.com中的osp-small.qcow2,下载到当前主机上

wget http://materials.example.com/osp-small.qcow2

查看image详细信息

[root@foundation9 ~]# qemu-img info osp-small.qcow2
image: osp-small.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.5G
cluster_size: 65536
Format specific information:
 compat: 0.10
 refcount bits: 16

私有网络不设置网关,DHCP必须开启。不要忘记内部和外部建立虚拟路由器

密钥权限修改为600,否则可能登陆提示密钥安全,**拒绝登陆**。

[root@foundation9 Downloads]# ssh -i user-bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8)
-bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8)
1-key1.pem cloud-user@172.25.250.108
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'user1-key1.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "user1-key1.pem": bad permissions
cloud-user@172.25.250.108: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[root@foundation9 Downloads]# chmod 600 user1-key1.pem
[root@foundation9 Downloads]# ssh -i user1-key1.pem cloud-user@172.25.250.108
[cloud-user@user1-instance1 ~]$
创建卷

Volume -> Create Volume -> Manage Attachment -> OS:格式化

附件存储:当时instance删除后,附加存储还存在,可以加载到新的instance里。

第二章 openstack控制平面

keystone服务三要素

  1. 用户(user)
  2. 服务(service)
  3. 终端(endpoint)

常用指令

openstack catelog list – 列出每个服务的endpiont

有3个url地址:

1,Public(外网地址);

2,internal(内网地址);

3,admin(管理网络).

(overcloud) [stack@director ~]$ openstack catalog list
+------------+----------------+------------------------------------------------------------------------------+
| Name       | Type           | Endpoints                                                                    |
+------------+----------------+------------------------------------------------------------------------------+
| cinderv2   | volumev2       | regionOne                                                                    |
|            |                |   internal: http://172.24.1.50:8776/v2/42eecbfbaf684f909abfe5304434fc77      |
|            |                | regionOne                                                                    |
|            |                |   admin: http://172.24.1.50:8776/v2/42eecbfbaf684f909abfe5304434fc77         |
|            |                | regionOne                                                                    |
|            |                |   public: http://172.25.250.50:8776/v2/42eecbfbaf684f909abfe5304434fc77      |
|            |                |                                                                              |
| octavia    | load-balancer  | regionOne                                                                    |
|            |                |   public: http://172.25.250.50:9876                                          |
|            |                | regionOne                                                                    |
|            |                |   admin: http://172.24.1.50:9876                                             |
|            |                | regionOne                                                                    |
|            |                |   internal: http://172.24.1.50:9876                                          |
|            |                |                                                                              |
| cinderv3   | volumev3       | regionOne                                                                    |
|            |                |   public: http://172.25.250.50:8776/v3/42eecbfbaf684f909abfe5304434fc77      |
|            |                | regionOne                                                                    |
|            |                |   internal: http://172.24.1.50:8776/v3/42eecbfbaf684f909abfe5304434fc77      |
|            |                | regionOne                                                                    |
|            |                |   admin: http://172.24.1.50:8776/v3/42eecbfbaf684f909abfe5304434fc77         |

消息队列RabbitMQ

考试内容:创建和发动。

概念

  1. 绑定(binding key):过滤器的参数
  2. 交换(exchange):信息元数据,将应用产生的发布到消息路由队列。
  3. routing key:应用指定的消息元数据(关键字)。

常见的集中消息队列

Direct(默认)用户订阅到一个queue并关联一个binding key,服务端设置routing key和binding key与用户订阅的queue关联。(完全匹配)
Topic用户订阅的queue具备wildcards(广义性),服务端可以将数据发送到相应的queue。(部分匹配)
Fanout消息广播所有的订阅的queue,无论routing key和binding key是否匹配。不存在routing key。(广播)
Header使用消息的header特性来对queue进行binding。(消息头部信息)

image-20210909162542100

image-20210909162900757

image-20210909162929837

image-20210909163316280

如何管理和创建RabbitMQ

登陆controller0,执行RabbitMQ命令

[root@controller0 ~] docker exec -it rabbitmq-bundle-docker-0 bash
rabbitmqctl help
()[root@controller0 /] rabbitmqctl list_users
Listing users
guest	[administrator]

考点:

跟踪RabbitMQ消息:内置功能,启动该功能,所有进入RabbitMQ的消息都会复制到amq.rabbitmq.tarce exchange中。方便用户对消息进行分析。指令 rabbitmqctl trace_on

书上P97练习,考试例子:创建一个rabbitmq用户ash,密码为redhat,该用户可创建、操作和查询RabbitMQ queues与exchanges。

分配administrator角色指定权限,开启trace_on。

[root@controller0 ~] docker exec -it rabbitmq-bundle-docker-0 bash
()[root@controller0 /] rabbitmqctl add_user ash redhat
Creating user "ash"
()[root@controller0 /] rabbitmqctl set_permissions ash ".*" ".*" ".*"
Setting permissions for user "ash" in vhost "/"
()[root@controller0 /] rabbitmqctl set_user_tags ash administrator
Setting tags for user "ash" to [administrator]
()[root@controller0 /] rabbitmqctl list_users
Listing users
ash	[]
guest	[administrator]
()[root@controller0 /] rabbitmqctl trace_on
Starting tracing for vhost "/"

使用VNC访问VM流程图

image-20210909171933924

关闭OpenStack

  1. 关闭overcloud上所有的实例 openstack server list --all-projects openstack server stop ID
  2. 关闭undercloud计算节点 poweroff
  3. 关闭undercloud控制节点 poweroff
  4. 关闭controller0上存储控制参数 ceph osd set noout ceph osd set norecover ceph osd set norebalance ceph osd set nobackfill ceph osd set nodown ceph osd set pause
  5. 关闭ceph0
  6. 存储节点 poweroff
  7. 关闭controller0集群 pcs cluster stop –all poweroff
  8. 关闭director poweroff

考试例子:查询redis服务密码

ssh controller0
docker exec -it redis-bundle-docker-0 bash
cat /etc/redis.conf |grep -i pass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值