且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

UbuntuOpenStack core componennts

更新时间:2022-09-08 22:26:12

<1,keystone安装配置>

1,yum -y install openstack-keystone python-keystoneclient;

2,配置实用mysql存储keytone componts 配置信息

/etc/keystone/keystone.conf

connection = mysql://ruiy:321@byruiy.cc/keystone

创建数据库用户赋予合适权限;

3,Define an authorization token to use as a shared secret between the identity service and other OpenStack service
ADMIN_TOKEN=$(openssl rand -hex 10)
admin_token = $ADMIN_TOKEN

export OS_SERVICE_TOKEN=14034bb8102de15503dc
export OS_SERVICE_ENDPOINT=http://byruiy.cc:35357/v2.0

4,Keystone usees PKI tokens,Create the signing keys and certificates and restrict access to the generated data:

keystone-manage pki_setup --keystone-user keystone --keystone-group keystone

chown -R keystone:keystone /etc/keystone/ssl
chmod -R o-rwx /etc/keystone/ssl

5,OpenStack清理expired tokens

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

 6,Define users,tenants,roles

创建administrative用户

创建用户,角色,租户

keystone user-create --name=admin --pass=admin --email=rui.qin@egrandis.com
keystone role-create --name=admin
keystone tenant-create --name=admin --description="Admin Tenant"

链接用户角色租户

UbuntuOpenStack core componennts

创建normal普通用户

daily non-administrative interaction with the OpenStack cloud,skip the tenant role creation step when creating there users;

当前角色有admin(super-user)和_member_(normal-user)

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

7,Create a service tenant:
OpenStack service also require a username,tenant,and role to access other OpenStack services.

UbuntuOpenStack core componennts

Ruiy tips

基于2中环境变量交互访问OpenStack services components

(1,用户,租户,Auth-URL,无此API called)

export OS_USERNAME=admin
export OS_PASSWORD=321
export OS_TENANT_NAME=admin_project
export OS_AUTH_URL=http://5.10.124.181:5000/v2.0

(2,admin_token,OS_SERVICE_ENDPOINT)

export OS_SERVICE_TOKEN=14034bb8102de15503dc
export OS_SERVICE_ENDPOINT=http://byruiy.cc:35357/v2.0

或是指定OpenStack components --options

UbuntuOpenStack core componennts

8,Define services and API endpoints

UbuntuOpenStack core componennts

keystone service-create     Describes the service;
keystone endpoint-create  Associates API endpoints with the service;

register the identity service itself:

8.1,service-create

UbuntuOpenStack core componennts

8.2,endpoint-create

Specify an OpenStack core components service API endpoint for identity service by using every keystone service-create returned service_ID

8.2.1,截取keystone service-id字段
UbuntuOpenStack core componennts

8.2.2,基于OpenStack service components keystone service-id创建keystone的API endpoint

UbuntuOpenStack core componennts

8.2.3,verify identityService installed and configured correctly

clear unset OS_SERVICE_TOKEN and OS_SERVICE_ENDPOINT environment variables

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

8.2.4,use regular user name-based authentication(基于此时还没使用tenant)
request a authentication token by using the admin user and the password

in response,you receive a token paired with your user ID

verifyes identity service kis running on the expected endpoint and that your user account is established with the expected credenitals

UbuntuOpenStack core componennts

当你看到上面的截图时,你一定惊呆了!要是惊呆了,那你就傻了,上面仅仅是使用上面创建的用户基于密码,而没使用tenant,看到没

分别总结基于环境变量访问以定义的API endpoint

UbuntuOpenStack core componennts

基于OpenStack core components python-OpenStackcorecomponentsClients --options访问API endpoint

keystone --os-username= --os-password= --os-auth-url= token-get

 8.2.5,基于tenant 获取token-get for specify tenant

request authorization on tenant

UbuntuOpenStack core componennts

 In response,you receive a token that includes the ID of the tenant that you specified.Verifies that your user account has an explicitly defined role on the specified tenant and the tenant exists expected;

UbuntuOpenStack core componennts

测试不使用--os-username= --os-password= --os-tenant-name= --os-auth-url= 而是使用此命令选项的环境变量

UbuntuOpenStack core componennts

或是--os-service-token= --os-service-endpoint=

<二,安装配置OpenStackClient客户端>

OpenStack Client客户端是干啥的?是用来执行CLI called OpenStack core components Services API;

Ruiy Tips:Internally,each OpenStack core components Service client CLI runs cURL commands that embed API requests;

OpenStack APIs are RESTful APIs that use the HTTP protocol,including methods,URIs,media types,and response codes;
URI,URL区别见
http://baike.baidu.com/view/160675.htm?fr=aladdin
Each Openstack service has its own command-line client;

Openstack services   and    clients:

Block Storage    cinder     python-cinderclient   create and manage volumes
Compute           nova      python-novaclient     create and manage images,instances,and flavors

Database service   trove      python-troveclient     create and manage databases

image service        glance     python-glanceclient   create and manage images

identity         keystone python-keystoneclient create and manage users,tenants,roles,endpoints,and credentials

Networking       neutron   python-neutronclient   configure network for guest servers

Object Storage     swift        python-swiftclient       gather statistics,list items,update metadata,and upload,download,and delete files stored by the object storage service,gain access to an object storage installation for ad hoc processing

orchestration       heat        python-heatclient       launch stacks from templates,view details of running stacks including events and resources,and update and delete stacks

telemetry            ceilometer  python-ceilometerclient    create and collect measurements across openstack

prerequisite softwares for openstack core components services clients

setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的 distutilsde工具的增强工具

pip(python package index) CLC

easy_install pip
    from setuptools package

pip install python-PROJECTclient (latest version)

pip enables you to update or remove a packages

upgrade or remove clients
pip install --upgrade python-PROJECTclient
pip uninstall python-PROJECTclient

<三,安装配置image 镜像服务>

OpenStack VMIs image service overview

 UbuntuOpenStack core componennts

 snapshots for back up and as templates to launch new servers

can store registered
images in Object Storage or in other locations or simple fileSystem

verify image service Succ installed

下载测试镜像

http://cdn.download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img

upload registry img to image service;

UbuntuOpenStack core componennts

online regtry img resources

UbuntuOpenStack core componennts

Ruiy Tips,OpenStack Services Core components image Service(glance)项目下的组件

glance-api
glance-registry

<四,安装配置compute service Inc Compute control service and compute Nodes>

1,compute control service

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

Ruiy Rips:

every OpenStack core Componets Service 都需要创建一个keystone user,为其指定service tenant,admin role

UbuntuOpenStack core componennts

注册此组件服务,并关联足迹API endpoints

UbuntuOpenStack core componennts

Ubuntu OpenStack compute control service 服务控制

UbuntuOpenStack core componennts

测试compute controll service -->nova 配置Ok!

UbuntuOpenStack core componennts

基于CLIlaunch virtual machine 前提是获取相关image-id,flavor-id

UbuntuOpenStack core componennts

2,compute Nodes

 无网络实例化VMI,always spawning

UbuntuOpenStack core componennts

<五,add a Network services (Nrutron,legacy networking)>

关于云计算安全组(security group)概念:
安全组概念属于云网络范畴,Security groups enable adminstrators to defined firewall rules in groups,a VM can blong to one or more security group,and Networking applies the rules in those security groups to block or unblock,port ranges,or traffic types for that VM

Ruiy Tips:一般命令行的参数Arguments及options选项区别

Arguments(通常no --)

Options(通常加--)

调节内核参数,启用内核网络(kernel networking)功能

UbuntuOpenStack core componennts

dmks(动态内核模块支持(Dynamic Kernel Module Support))

generic routing encapsulation(通用路由封装)

Generic Receive Offload (GRO)

Tunneling protocols such as generic routing encapsulation (GRE) include additional
packet headers that increase overhead and decrease space available for the payload or
user data

many network devices lack support for jumbo frames (Mellanox)

基于单网卡(eg,eth0)配置多ip

ifconfig eth0:1 192.168.1.159 netmask 255.255.255.0;

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

create a router and attach your tenant and external networks to it;

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

在配置OpenStack网络后启动虚机必须指定网络

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

基于nova boot --image --flavor --nic net-id= --security-group --key-name New-Instance-You-want-like-to-name初始化创建OpenStack虚机实例VMI VMs;

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

获取与本机ESTABLISH的外网ip

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

UbuntuOpenStack core componennts

OpenStack基于CLI删除VMI,VMs;

UbuntuOpenStack core componennts

 UbuntuOpenStack core componennts

UbuntuOpenStack core componennts