精华内容
下载资源
问答
  • 云计算~DHCP的基本认识与使用DHCP认识种机制工作原理实例练习测试命令 DHCP 认识 DHCP(动态主机配置协议)是一局域网网络协议。指是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器...

    DHCP

    认识

    1. DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
    2. DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

    三种机制

    1. 自动分配方式
    2. 动态分配方式
    3. 手工分配方式

    工作原理

    在这里插入图片描述
    DHCP的实现分为4步,分别是:

    1. Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCP Server。
    2. 可用的DHCP Server接收到Discover包之后,通过发送DHCP Offer包给予Client端应答,意在告诉Client端它可以提供IP地址。
    3. Client端接收到Offer包之后,发送DHCP Request包请求分配IP。
    4. DHCP Server发送ACK数据包,确认信息。

    实例练习

    实验图

    配置静态DHCP:自动获取(下行线路)
    [Huawei-GigabitEthernet0/0/1]ip a 192.168.1.100 24
    [Huawei-GigabitEthernet0/0/1]un sh
    [Huawei]dhcp enable 
    [Huawei-GigabitEthernet0/0/1]dhcp select interface           配置接口模式的DHCP
    [Huawei-GigabitEthernet0/0/1]dhcp server lease day 7         设置租期为7天
    [Huawei-GigabitEthernet0/0/1]dhcp server dns-list 8.8.8.8    给用户端自动分配DNS服务器地址
    [Huawei-GigabitEthernet0/0/1]dhcp server excluded-ip-address 1.1.1.30 1.1.1.254   配置接口地址池中不自动分配的地址范围
    
    DHCP的全局模式:
    [Huawei]dhcp enable    系统模式开启DHCP功能
    [Huawei]ip pool 1      创建地址池名称(1)
    [Huawei-ip-pool-1]gateway-list  1.1.1.1     设置DHCP客户的出口网关地址
    [Huawei-ip-pool-1]network 1.1.1.0 mask 24   配置DHCP可分配地址网段,掩码24
    [Huawei-ip-pool-1]dns-list 8.8.8.8          配置DHCP分配DNS地址
    [Huawei-ip-pool-1]excluded-ip-address 1.1.1.43 1.1.1.254    配置保留地址,不被分配。
    [Huawei-ip-pool-1]static-bind ip-address 1.1.1.4 mac-address 5489-982B-612B   为PC端绑定IP地址,通过MAC地址对应进行绑定
    [Huawei-ip-pool-1]lease day 2   设定租期(2天)
    [Huawei-GigabitEthernet0/0/0]dhcp select global     配置DHCP为global的全局模式
    dis ip pool                 查看所有地址池信息
    
    
    DHCP中继配置方式:
    [Huawei]dhcp enable     启用DHCP服务器
    [Huawei-GigabitEthernet0/0/0]dhcp select relay     开启DHCP中继功能
    [Huawei-GigabitEthernet0/0/0]dhcp relay server-ip 1.1.1.1   指向DHCP服务器的地址请求DHCP服务
    [Huawei]ip route-static 0.0.0.0 0.0.0.0 2.2.2.1
    配置DHCP服务器:
    [Huawei]dhcp enable     启用DHCP服务器
    [Huawei]ip pool 1       创建地址池
    [Huawei-ip-pool-1]gateway-list 3.3.3.1     配置网关
    [Huawei-ip-pool-1]network 3.3.3.0 mask 24   分配网关
    [Huawei-ip-pool-1]dns-list 8.8.8.8   配置DNS地址
    [Huawei-ip-pool-1]lease day 4   设置租期
    
    非直连网段需要配置静态路由达到互通
    [Huawei]ip route-static 0.0.0.0 0.0.0.0 1.1.1.1
    

    测试命令

     ipconfig /release 断开主机当前的网络连接 
     ipconfig /renew   请求连接网络
    
    展开全文
  • Pod是Kubernetes最基本的部署调度单元可以包含Container逻辑上表示某种应用一个实例比如一个web站点应用由前端后端及数据库构建而成这三个组件将运行在各自容器中那么我们可以创建包含三个ContainerPod ...
  • 本文主要介绍欧盟一个云计算项目RESERVOIR FP7既然是研究那么必然要给出研究背景研究原因以及项目总体介绍同时也将给出该项目所涉及关键技术以便更好地进行知识准备和技术积累以下内容将分为三个部分 ...
  • 管理终端安全 管理终端作为云计算系统个基本组件面临病毒蠕虫木马泛滥威胁不安全管理终端可能成为一个被动攻击源对整个云计算系统构成较大安全威胁 终端应能满足和保证终端安全策略执行主要包括终端...
  • 云计算第二版

    2012-04-08 11:02:25
    1.1 云计算的概念 1 1.2 云计算发展现状 3 1.3 云计算实现机制 5 1.4 网格计算与云计算 6 1.5 云计算的发展环境 9 1.5.1 云计算与3G 9 1.5.2 云计算与物联网 9 1.5.3 云计算与移动互联网 10 1.5.4 云计算与三网融合 ...
  • 文章目录1.Docker简介1.1传统开发流程存在的问题采用Docker... Docker基本概念及架构2.1Docker的三个组件:镜像、容器、仓库2.2Docker架构2.3Docker run 运行流程图3.Docker小结4.安装Docker和使用4.1安装准备4.2...

    1.Docker简介

    1.1传统开发流程存在的问题

    在这里插入图片描述
    为了解决开发人员和运维人员之间的协作关系,加快应用交付速度,越来越多的企业引入了DevOps这一概念。但是,传统的开发过程中,开发、测试、运维是三个独立运作的团队,团队之间沟通不畅,开发运维之间冲突时有发生,导致协作效率低下,产品交付延迟, 影响了企业的业务运行。

    • DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合
    • 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

    采用Docker技术解决

    在这里插入图片描述
    Docker技术将应用以集装箱的方式打包交付,使应用在不同的团队中共享,通过镜像的方式,应用可以部署于任何环境中。

    容器方式交付的Docker技术支持不断地开发迭代,大大提升了产品开发和交付速度。

    1.2Docker简介

    Docker——基于容器技术的 轻量级 虚拟化解决方案

    Docker是一个构建在LXC(Linux Container容器)之上, 基于进程容器的轻量级VM解决方案,实现了一种应用程序级别的资源隔离及配额。Docker起源于 PaaS提供商dotCloud基于go语言开发,遵从Apache2.0开源协议。

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口。

    • 为用户提供了创建和管理容器的便捷界面(包括命令行和API)。
    • 微软,红帽Linux,IBM,Oracle等主流IT 厂商已经在自己的产品里增加对Docker的支持。
    • Google 每周启动超过20亿个容器进行业务服务,于上个世纪90年代已经开始大规模使用容器技术。

    1.3Docker VS 虚拟机

    在这里插入图片描述

    在这里插入图片描述

    1.4Docker的应用场景

    在这里插入图片描述

    1.5Docker给我们带来的好处

    在这里插入图片描述

    2. Docker基本概念及架构

    2.1Docker的三个组件:镜像、容器、仓库

    在这里插入图片描述
    Docker的三个组件:

    • Docker镜像 是用于创建 Docker 容器的模板
    • .Container容器 是独立运行的一个或一组应用,是镜像运行时的实体。
    • Docker仓库 用来保存镜像,可以理解为代码控制中的代码仓库。

    镜像与容器的关系:

    • 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

    2.2Docker架构

    在这里插入图片描述

    2.3Docker run 运行流程图

    在这里插入图片描述
    一个完整的Docker有以下四部分组成:

    • DockerClient客户端
    • Docker Daemon守护进程
    • Docker Image镜像
    • DockerContainer容器

    3.Docker小结

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

    • image文件生成的容器实例,本身也是一个文件,称为镜像文件;
    • 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器;
    • 至于仓库,就是放了一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库中拉下来就可以了。

    4.安装Docker和使用

    4.1安装准备

    Docker 的安装和使用有一些前提条件,主要体现在体系架构和内核的支持上。对于体系架构,除了 Docker 一开始就支持的 X86-64 ,其他体系架构的支持则一直在不断地完善和推进中。

    • Docker 分为 CE 和 EE 两大版本。 CE 即社区版(免费,支持周期 7 个月), EE 即企业版,强调安全,付费使用,支持周期 24 个月。
    • 我们在安装前可以参看官方文档获取最新的 Docker 支持情况,官方文档在这里:https://docs.docker.com/install/
    • Docker 对于内核支持的功能,即内核的配置选项也有一定的要求(比如必须开启 Cgroup 和 Namespace 相关选项,以及其他的网络和存储驱动等), Docker 源码中提供了一个检测脚本来检测和指导内核的配置,脚本链接在这里:https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh
    • 在满足前提条件后,安装就变得非常的简单了。

    4.2Docker使用

    4.2.1Docker命令图

    在这里插入图片描述

    4.4.2安装与启动Docker

    • Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。
    • 因此想要安装 docker,只需要运行下面的 yum 命令。
    • 在Linux上直接运行:sudo yum install docker

    当然在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:

    curl -fsSL get.docker.com -o get-docker.sh
    
    sh get-docker.sh
    

    执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

    • 安装完成后,运行下面的命令,验证是否安装成功:docker versiondocker info返回docker的版本相关信息,证明 docker 安装成功。
    • 启动Docker-CE:sudo systemctl enable docker(开机启动)sudo systemctl start docker

    4.2.3Docker常用命令

    https://www.runoob.com/docker/docker-command-manual.html
    http://www.cnblogs.com/DeepInThought/p/10896790.html
    在这里插入图片描述

    4.2.4Docker容器信息

    查看 docker 容器版本:docker version
    查看 docker 容器信息:docker info
    查看 docker 容器帮助:docker --help

    4.2.5镜像操作

    镜像查看

    提示:对于镜像的操作可使用镜像名、镜像长ID和短ID。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    镜像搜索

    在这里插入图片描述

    镜像下载

    在这里插入图片描述

    镜像删除

    在这里插入图片描述

    镜像构造

    在这里插入图片描述

    4.2.6容器操作

    提示:对于容器的操作可使用CONTAINER 或 NAMES。

    容器启动

    在这里插入图片描述

    容器进程

    在这里插入图片描述

    容器日志

    在这里插入图片描述

    容器的进入与退出

    在这里插入图片描述

    查看容器

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    容器的停止与删除

    在这里插入图片描述

    生成镜像

    在这里插入图片描述

    容器与主机间的数据拷贝

    在这里插入图片描述

    5.Docker的简单运用——Hello World

    查看Docker 版本
    在这里插入图片描述
    启动Docker
    在这里插入图片描述
    将名为 hello-world 的 image 文件从仓库抓取到本地
    在这里插入图片描述
    抓取成功以后,就可以在本机看到这个 image 文件了
    在这里插入图片描述
    运行 hello-world 这个 image 文件
    在这里插入图片描述

    展开全文
  • 实验任务 一、安装 Swift 组件 ...二、Swift 组件的基本操作    1、    2、 、在 Dashboard 界面创建容器 四、通过 CLI 命令行创建容器 一、安装 Swift 组件 1、让环境

    实验任务

    一、安装 Swift 组件
       1、让环境变量生效
       2、挂载 iso 文件
       3、修改 openrc.sh 文件并安装 Swift 组件
       4、增加一个 50GB 的硬盘
       5、安装 iaas-install-swift-compute.sh 脚本
       6、验证 Swift 组件是否安装成功

    二、Swift 组件的基本操作
       1、创建容器
       2、查看窗口是否创建成功
       3、创建test目录,并将本地的 test 目录内容递归上传到 xiandian 容器内
       4、有了容器之后,查看 xiandian 容器里面的内容
       5、将 iaas.txt 文件上传到 xiandian 容器内 test 目录内
       6、数据在 swift 集群内保存,随时供用户下载使用,现在主目录下载 iaas.txt 文件
       7、磁盘容量有限,需要删除一些相对价值低的数据空出更多的空间
       8、通过 swift stat 命令来首先查看整个 Account 账户下 swift 状态
       9、可以查看具体容器的运行状态,以查看 xiandian 容器为例
       10、可以查看”xiandian”容器内具体某个对象”test”的状态

    三、在 Dashboard 界面创建容器

    四、通过 CLI 命令行创建容器

    一、安装 Swift 组件

    1、让环境变量生效

    [root@controller ~]# source /etc/keystone/admin-openrc.sh

    2、挂载 iso 文件

    如果 /opt 有镜像文件就无须挂载
    [root@controller ~]#mount -o loop /opt/CentOS-7-x86_64-DVD-1511.iso /opt/centos
    [root@controller ~]#mount -o loop /opt/XianDian-IaaS-v2.2.iso /opt/iaas
    [root@controller ~]# vi /etc/xiandian/openrc.sh

    3、修改 openrc.sh 文件并安装 Swift 组件

    按【i】键进入编译模式,修改文件为以下形式

    SWIFT_PASS=000000
    OBJECT_DISK=sdd
    STORAGE_LOCAL_NET_IP=192.168.100.20
    

    按【Esc】键并输入:wq命令保存退出。
    在这里插入图片描述
    [root@controller bin]# cd /usr/local/bin
    [root@controller bin]# iaas-install-swift-controller.sh
    在这里插入图片描述

    4、增加一个 50GB 的硬盘

    在 compute 节点的虚拟机上增加一个 50G 的新硬盘,重启并且修改环境变量,与控制节点的配置一样。
    在这里插入图片描述
    控制节点 compute

    SWIFT_PASS=000000
    OBJECT_DISK=sdd
    STORAGE_LOCAL_NET_IP=192.168.100.20
    

    在这里插入图片描述

    5、安装 iaas-install-swift-compute.sh 脚本

    [root@compute ~]# cd /usr/local/bin
    [root@compute bin]# iaas-install-swift-compute.sh
    在这里插入图片描述

    6、验证 Swift 组件是否安装成功

    [root@controller bin]# swift stat

    二、Swift 组件的基本操作

    在 controller 节点操作,通过命令行实现对 Swift 上数据的操作

    1、创建容器

    [root@controller bin]# swift post xiandian
    在这里插入图片描述

    2、查看窗口是否创建成功

    [root@controller bin]# swift stat
    在这里插入图片描述

    3、创建test目录,并将本地的 test 目录内容递归上传到 xiandian 容器内

    上传时我们首先需要上传一个空白的”test”目录
    [root@controller bin]# mkdir test
    [root@controller bin]# swift upload xiandian test
    在这里插入图片描述

    4、有了容器之后,查看 xiandian 容器里面的内容

    [root@controller bin]# swift list xiandian

    5、将 iaas.txt 文件上传到 xiandian 容器内 test 目录内

    [root@controller bin]# cd test
    [root@controller test]# touch iaas.txt
    [root@controller test]# swift upload xiandian/test iaas.txt
    在这里插入图片描述

    6、数据在 swift 集群内保存,随时供用户下载使用,现在主目录下载 iaas.txt 文件

    [root@controller bin]# cd /tmp
    [root@controller tmp]# swift download xiandian test/iaas.txt
    在这里插入图片描述

    7、磁盘容量有限,需要删除一些相对价值低的数据空出更多的空间

    [root@controller tmp]# swift delete xiandian test/iaas.txt
    在这里插入图片描述

    8、通过 swift stat 命令来首先查看整个 Account 账户下 swift 状态

    [root@controller tmp]# swift stat
    在这里插入图片描述

    9、可以查看具体容器的运行状态,以查看 xiandian 容器为例

    [root@controller tmp]# swift stat xiandian
    在这里插入图片描述

    10、可以查看”xiandian”容器内具体某个对象”test”的状态

    [root@controller tmp]# swift stat xiandian test
    在这里插入图片描述

    三、在 Dashboard 界面创建容器

    输入网址 http://192.168.100.10/dashboard 进入Dashborad界面,为项目研发部创建公共存储容器,名为 RD_Dept_Public
    在这里插入图片描述
    在这里插入图片描述

    四、通过 CLI 命令行创建容器

    为业务部和 IT 工程部创建私有存储容器,名字分别为 BS_Dept_private 、 IT_Dept_private
    [root@controller tmp]# cd ~
    [root@controller ~]# swift post BS_Dept_private
    [root@controller ~]# swift post IT_Dept_private
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 一、Keystone概述 Keystone是Openstack的组件之一,用于为...为每个组件服务提供一可用服务目录和相应API入口端点。 、Keystone基本概念 User 使用服务用户,可以是人,服务或者系统,只要是使用了openstac

    一、Keystone的概述

    Keystone是Openstack的组件之一,用于为Openstack家族中的其它组件成员提供统一的认证服务,包括身份验证,令牌的发放和校验,服务列表,用户权限的定义等。Openstack中任何组件均依赖与Keystone提供的服务。

    二、Keystone的功能

    用户与认证

    用户权限与用户行为追踪。

    服务目录

    为每个组件服务提供一个可用的服务目录和相应的API入口端点。

    三、Keystone基本概念

    User

    使用服务的用户,可以是人,服务或者系统,只要是使用了openstack服务的对象都可以称为用户。当User对OpenStack进行访问时,Keystone会对其身份进行验证。

    Project

    租户,可以理解为一个人、项目或者组织拥有的资源的合集。在一个租户中可以拥有很多个用户,这些用户可以根据权限的划分使用租户中的资源。

    Token

    指的是一串比特值或者字符串,用来作为访问资源的令牌。Token中含有可访问资源的范围和有效时间。

    Role

    角色,用于分配操作的权限。角色可以被指定给用户,使得该用户获得角色对应的操作权限。安全包含两部分:Authentication(认证)和 Authorization(鉴权)

    Service

    Openstack Service,即Openstack中运行的组件服务。nova,glance都是属于一个服务,需要在keystone上进行创建,指定类型。
    创建服务有一个服务,就创建一个endpoint,会根据服务类型去查找那个服务。Service 决定每个 Role 能做什么事情 ,Service 通过各自的 policy.json 文件对 Role 进行访问控制

    Endpoint

    一个可以通过网络来访问和定位某个Openstack Service的地址,通常是一个URL。例如,Nova需要访问Glance服务去获取Image时,Nova通过访问Keystone拿到Glance的Endpoint,然后通过访问该Endpoint去获取Glance服务,我们可以通过Endpoint的region属性去定义多个region。Endpoint该使用对象分为三类:

    1. Admin URL:给admin用户使用,被从常规的访问中分离。
    2. Internal URL:Openstack内部服务使用来跟别的服务通信,只能被局域网访问。
    3. Public URL:其它用户可以访问的地址,可以被全局访问。
    4. User 通过 Endpoint 访问资源和执行操作

    Credentials

    用于确认用户身份的凭证。

    Authentication

    确定用户身份的过程。

    四、Keystone形象比喻

    如果把宾馆比作为Openstack,那么宾馆的中央管理系统就是Keystone,入住宾馆的人就是User 。在宾馆中拥有很多不同的房间,房间提供了不同的服务(Service)。

    在入住宾馆前,User需要给出身份证(Credential),中央管理系统(Keystone)在确认User的身份后(Authenticaiton),会给你一个房卡(Token)和导航地图(Endpoint)。

    不同VIP(Role)级别的User,拥有不同权限的房卡(Token),如果你的VIP(Role)等级高,你可以享受到豪华的总统套房。

    User拿着房卡(Token)和地图(Endpoint),就可以进入特定的房间去享受不同的Services。每一个服务(Services)中都拥有着一些特定资源(Project),例如,按摩服务中可以使用的精油种类和数量。User可以根据自己的权限来使用这些资源。

    五、Keystone与其它服务的交互

    六、Keystone V3 API特性

    Keystone V3 做出了许多变化和改进,我们选取其中较为重要的进行阐述:
    将 Tenant 改称为 Project
    引入 Domain 的概念
    引入 Group 的概念
    将 Tenant 改为 Project 并在其上添加 Domain 的概念,这更加符合现实世界和云服务的映射。
    V3 利用 Domain 实现真正的多租户(multi-tenancy)架构,Domain 担任 Project 的高层容器。云服务的客户是 Domain 的所有者,他们可以在自己的 Domain 中创建多个 Projects、Users、Groups 和 Roles。通过引入 Domain,云服务客户可以对其拥有的多个 Project 进行统一管理,而不必再向过去那样对每一个 Project 进行单独管理。

    Group 是一组 Users 的容器,可以向 Group 中添加用户,并直接给 Group 分配角色,那么在这个 Group 中的所有用户就都拥有了 Group 所拥有的角色权限。通过引入 Group 的概念,Keystone V3 实现了对用户组的管理,达到了同时管理一组用户权限的目的。这与 V2 中直接向 User/Project 指定 Role 不同,使得对云服务进行管理更加便捷。

    七、Keystone安装配置

    (1)数据库各服务库的创建和授权
    tips:配置 OpenStack 身份认证服务前,必须创建一个数据库和管理员令牌。由于其余服务也需要用到数据库,此处将所有的服务所需要的库都进行创建并授权View Code
    (2)keystone服务配置:/etc/keystone/keystone.conf

    [database] 部分,配置数据库访问:
    [database]
    ...
    connection = mysql+pymysql://keystone:keystone@192.168.56.11/keystone
    
    在[token]部分,配置Fernet UUID令牌的提供者。
    [token] 
    ... 
    provider = fernet
    driver = memcache
    

    (3)初始化身份认证服务的数据库,并验证是否初始化成功:

    [root@linux-node1 ]# su -s /bin/sh -c "keystone-manage db_sync" keystone
    [root@linux-node1 ]# mysql -h 192.168.56.11 -ukeystone -pkeystone -e "use keystone;show tables;"
    

    (4)keystone服务配置:/etc/keystone/keystone.conf

    [memcache] 部分,配置token缓存到memcache上:
    servers = 192.168.56.11:11211
    
    设置memcached开机自启动,并设置监听ip地址
    [root@linux-node1 ~]# systemctl enable memcached
    [root@linux-node1 ~]# systemctl start memcached
    [root@linux-node1 ~]# vim /etc/sysconfig/memcached
    PORT="11211"
    USER="memcached"
    MAXCONN="1024"
    CACHESIZE="64"
    OPTIONS="-l 192.168.56.11,::1"
    [root@linux-node1 ~]# systemctl restart memcached
    
    tips:openstack会经常使用driver驱动,更加灵活地选用多种方式。
    

    (5)查看keystone服务所有的配置

    [root@linux-node1 ~]# grep '^[a-z]' /etc/keystone/keystone.conf 
    connection = mysql+pymysql://keystone:keystone@192.168.56.11/keystone
    servers = 192.168.56.11:11211
    provider = fernet
    driver = memcache
    

    (6)初始化Fernet key:

    [root@linux-node1 ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    [root@linux-node1 ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    [root@linux-node1 ~]# cd /etc/keystone/
    [root@linux-node1 keystone]# ll
    总用量 140
    drwx------ 2 keystone keystone     22 12月  4 11:10 credential-keys
    -rw-r----- 1 root     keystone   2303 7月  26 12:47 default_catalog.templates
    drwx------ 2 keystone keystone     22 12月  4 11:10 fernet-keys
    -rw-r----- 1 root     keystone 113658 12月  4 11:07 keystone.conf
    -rw-r----- 1 root     keystone   2639 7月  26 12:48 keystone-paste.ini
    -rw-r----- 1 root     keystone   1046 7月  26 12:47 logging.conf
    -rw-r----- 1 keystone keystone   9742 7月  26 12:48 policy.json
    -rw-r----- 1 keystone keystone    665 7月  26 12:47 sso_callback_template.html
    

    (7)初始化命令bootstrap,初始化自动创建一个admin用户以及相关权限,直接在keystone上进行注册服务,创建endpoint。

    [root@linux-node1 ~]# keystone-manage bootstrap --bootstrap-password admin \   
        --bootstrap-admin-url http://192.168.56.11:35357/v3/ \   
        --bootstrap-internal-url http://192.168.56.11:35357/v3/ \   
        --bootstrap-public-url http://192.168.56.11:5000/v3/ \  
        --bootstrap-region-id RegionOne
    
    [root@linux-node1 ~]# mysql -h 192.168.56.11 -ukeystone -pkeystone
    MariaDB [keystone]> use keystone;
    Database changed
    MariaDB [keystone]> select * from endpoint\G
    *************************** 1. row ***************************
                    id: 20222ecb6eeb4f378035e79c47810b08
    legacy_endpoint_id: NULL
             interface: public
            service_id: 436e446b475a46fa978349211d6c64eb
                   url: http://192.168.56.11:5000/v3/
                 extra: {}
               enabled: 1
             region_id: RegionOne
    *************************** 2. row ***************************
                    id: 6cc75ee06e5245059e106e89e1643a92
    legacy_endpoint_id: NULL
             interface: internal
            service_id: 436e446b475a46fa978349211d6c64eb
                   url: http://192.168.56.11:35357/v3/
                 extra: {}
               enabled: 1
             region_id: RegionOne
    *************************** 3. row ***************************
                    id: 7c7b33e8c2ac431aa7380ceeac80fb37
    legacy_endpoint_id: NULL
             interface: admin
            service_id: 436e446b475a46fa978349211d6c64eb
                   url: http://192.168.56.11:35357/v3/
                 extra: {}
               enabled: 1
             region_id: RegionOne
    3 rows in set (0.00 sec)
    

    (8)配置apache http服务器
    tips:kesytone是python写的,apache有一个wsgi模块,可以通过这个模块和python进行通信。端口为5000和35357,缺省情况下,Kestone服务仍然监听这些端口

    ①编辑/etc/httpd/conf/httpd.conf 文件,配置ServerName 选项为控制节点:

    ServerName 192.168.56.11:80
    

    ②创建一个链接到/usr/share/keystone/wsgi-keystone.conf文件

    ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
    

    ③设置apache开机自启动

    [root@linux-node1 ~]# systemctl enable httpd.service
    [root@linux-node1 ~]# systemctl start httpd.service
    

    (9)开始使用keystone就需要进行验证,有两种方式连接Keystone:第一种方式使用参数,另外一种方式就通过环境变量方式进行连接。

    [root@linux-node1 ~]# vim admin-openstack
    export OS_USERNAME=admin
    export OS_PASSWORD=admin
    export OS_PROJECT_NAME=admin
    export OS_USER_DOMAIN_NAME=default
    export OS_PROJECT_DOMAIN_NAME=default
    export OS_AUTH_URL=http://192.168.56.11:35357/v3
    export OS_IDENTITY_API_VERSION=3
    [root@linux-node1 ~]# openstack user list
    Missing value auth-url required for auth plugin password
    [root@linux-node1 ~]# source admin-openstack 
    [root@linux-node1 ~]# openstack user list
    +----------------------------------+-------+
    | ID                               | Name  |
    +----------------------------------+-------+
    | 5313b45a3c474c7ea18e7272fd037b7d | admin |
    +----------------------------------+-------+
    

    (10)创建域、项目、用户、角色
    为什么创建service项目?在前面已经概述到一个用户需要属于一个项目(用户组),并且要赋予一种角色(权限)进行管理服务。而其余服务需要连接keystone,需用使用用户名密码连接,那其他服务自然就需要有属于某一个项目,是什么用户,什么角色去连接Keystone。此处默认的域创建为为default,对域的概念不明白可以参考前文。
    在这里:我们分别创建了service项目,并配置了默认的域为default。也创建了glance、nova、neutron、cinder用户,并赋予admin角色,使openstack的服务组件可以与Keystone进行通信。

    [root@linux-node1 ~]# openstack project create --domain default \
    >   --description "Service Project" service
     [root@linux-node1 ~]# openstack project list
    

    常规(非管理)任务应该使用无特权的项目和用户。作为例子,这里采用demo项目和demo用户
    创建demo项目,demo用户密码,创建use角色并赋予demo用户user角色

    [root@linux-node1 ~]# openstack project create --domain default \
    >   --description "Demo Project" demo
    [root@linux-node1 ~]# openstack user create --domain default \
    >  --password-prompt demo
    [root@linux-node1 ~]# openstack role create user
    [root@linux-node1 ~]# openstack role add --project demo --user demo user
    

    创建glance、nova、neutron、cinder用户,并赋予admin角色

    [root@linux-node1 ~]# openstack user create --domain default \
    >  --password-prompt glance
    [root@linux-node1 ~]# openstack role add --project service --user glance admin[root@linux-node1 ~]#  openstack user create --domain default \
    >  --password-prompt nova
    [root@linux-node1 ~]# openstack role add --project service --user nova admin
    [root@linux-node1 ~]# openstack user create --domain default \
    >  --password-prompt neutron
    [root@linux-node1 ~]# openstack role add --project service --user neutron admin
    [root@linux-node1 ~]# openstack user create --domain default \
    >  --password-prompt cinder
    [root@linux-node1 ~]# openstack role add --project service --user cinder admin
    [root@linux-node1 ~]# openstack user list
    +----------------------------------+---------+
    | ID                               | Name    |
    +----------------------------------+---------+
    | 23aefbc43cd24bcd8e6a78d527cb1002 | nova    |
    | 3c24e5584ce447a0b80c659d6daecd13 | demo    |
    | 5313b45a3c474c7ea18e7272fd037b7d | admin   |
    | 666df293c18541fcafffffac3b8587fe | glance  |
    | cb278a7d54a4470387fe4bd88a64ee95 | neutron |
    | d628cec48ab8407494605aa0022dd953 | cinder  |
    +----------------------------------+---------+
    [root@linux-node1 ~]# openstack project list
    +----------------------------------+---------+
    | ID                               | Name    |
    +----------------------------------+---------+
    | 02aaf7ba97114238b1d8169fedabb9be | demo    |
    | 21a45d59913d4c05b46ad3ec92e61656 | admin   |
    | 56e253935a6049b69140f4aebac8bb6a | service |
    +----------------------------------+---------+
    

    (11)验证操作:在安装其他服务之前确认身份认证服务操作
    在控制节点(192.168.56.11)上操作这些命令
    ①因为安全性的原因,关闭临时认证令牌机制,撤销临时环境变量OS_AUTH_URL和OS_PASSWORD

    [root@linux-node1 ~]# unset OS_AUTH_URL OS_PASSWORD
    

    ②作为 admin 用户,请求认证令牌:

    [root@linux-node1 ~]# openstack --os-auth-url http://192.168.56.11:35357/v3   --os-project-domain-name default --os-user-domain-name default   --os-project-name admin --os-username admin token issue
    

    ③作为demo 用户,请求认证令牌:

    [root@linux-node1 ~]# openstack --os-auth-url http://192.168.56.11:5000/v3   --os-project-domain-name default --os-user-domain-name default   --os-project-name demo --os-username demo token issue
    

    tips:能够正常获取到tonken,说明keystone服务是正常。

    (12)创建 OpenStack 客户端环境脚本
    ① 创建 admin 和 demo项目和用户创建客户端环境变量脚本

    [root@linux-node1 ~]# cat admin-openstack 
    export OS_USERNAME=admin
    export OS_PASSWORD=admin
    export OS_PROJECT_NAME=admin
    export OS_USER_DOMAIN_NAME=default
    export OS_PROJECT_DOMAIN_NAME=default
    export OS_AUTH_URL=http://192.168.56.11:35357/v3
    export OS_IDENTITY_API_VERSION=3
    
    [root@linux-node1 ~]# cat demo-openstack 
    export OS_USERNAME=demo
    export OS_PASSWORD=demo
    export OS_PROJECT_NAME=demo
    export OS_USER_DOMAIN_NAME=default
    export OS_PROJECT_DOMAIN_NAME=default
    export OS_AUTH_URL=http://192.168.56.11:5000/v3
    export OS_IDENTITY_API_VERSION=3
    export OS_IMAGE_API_VERSION=2
    

    ②加载admin-openrc文件来身份认证服务的环境变量位置和admin项目和用户证书:

    [root@linux-node1 ~]# source admin-openstack 
    

    ③ 请求认证令牌:

    [root@linux-node1 ~]# openstack token issue
    +------------+------------------------------------------------------------------------------------+
    | Field      | Value                                                                              |
    +------------+------------------------------------------------------------------------------------+
    | expires    | 2018-01-15 05:09:39+00:00                                                          |
    | id         | gAAAAABaXCmDx9x7k_ZU0gCh2qCnfEv0Z4P8MoGWEkUeC19cNKBEEVviW9DV3OM3O53gm3OzJZ_4Wf8OJx |
    |            | Q8ErmFV3qUF7GMzfVbCkwaPJAIPQWveopglMWdhKuT4IYNWBQV_frC69agmGKw1NIGSeNgQgdlGkrn7kzQ |
    |            | 2u-ThWPFQPXzfAFZq24                                                                |
    | project_id | 71c9b608e79546f4b90f710fea475de3                                                   |
    | user_id    | fa4237d31d5145f78b87a29fbcc7ec0c                                                   |
    +------------+------------------------------------------------------------------------------------+
    

    到此,Keystone服务就算配置完成了。
    OpenStack 排查问题的方法主要是通过日志。
    每个 Service 都有自己的日志文件。

    Keystone 主要有两个日志:
    keystone.log 和 keystone_access.log
    保存在 /var/log/apache2/ 目录里。

    如果需要得到最详细的日志信息,可以在 /etc/keystone/keystone.conf 中打开 debug 选项

    八、总结Keystone常见错误

    401 #验证失败,keystone相关用户账户密码设置错误,时间不同步,或者输入的项目名称不对
    403 #可能未初始化OS_token变量,需要使用source命令使其生效,也可能是配置的配置文件未生效,需要重启相关服务
    409 #keystone创建用户,用户已存在
    500 #服务器内部错误,服务配置有问题,看日志,检查配置
    503 #keystone相关账户密码设置有问题,请将相关的glance账户删除,重新创建即可
    服务故障 #相关服务没有起来

    Keystone的配置/etc/keystone/keystone.conf总结:
    ①由于Keystone需要使用数据库,需要配置数据库的连接
    ②由于需要将token存储到memcache,减少对数据库的访问,需要配置memcached服务器地址和端口
    ③由于tonken的生成是基于某种算法,此处选用的是fernet方式,需要配置令牌提供者为fernet
    ④在选用memcache作为缓存token的方式,需要配置驱动方式(driver)

    转载于:https://www.cnblogs.com/linuxk/p/9282996.html

    欢迎访问作者个人技术博客:BlackvonCode(www.blackvon.top)
    作者的微信公众号和小程序
    BlackvonCode

    展开全文
  • OpenStack组件详解

    千次阅读 2021-01-25 22:05:48
    云模型由五个基本特征、三个服务模型和四个发布模型组成,如此使以上成为可能。 二:云计算基本特征 按需自助服务:视客户需要,可以从每个服务提供商那里单方面地向客户提供计算能力,譬如,服务器时间和网络存储...
  • OpenStack的基本简介

    2020-12-10 18:45:47
    这里写目录标题一、云计算三种服务模式简介二、openstack概述2.1、 openstack简介2.2、openstack用作2.3、openstack优点、 openstack逻辑架构图3.1、 openstack主要组件介绍3.2 、openstack架构图3.3 、...
  • 树入门了解OpenStack一、OpenStack及云计算1、云计算基本概念二、OpenStack的组件及功能1、各个组件概况、四、 入门了解OpenStack 一、OpenStack及云计算 OpenStack概念 OpenStack是一云平台管理项目,它不是...
  • docker理解

    2019-02-18 18:07:57
    docker入门理解 Docker 特征 Docker有不少有趣功能,通过本教程相信你会更好地...Docker有三个组件和三个基本元素,读者可以快速浏览下面这个视频来了解这些组建和元素,以及它们关系。三个组件分别是: Docke...
  • Docker 入门教程(一)

    2016-06-01 10:16:37
    Docker 特征 Docker有不少有趣功能,通过本教程相信你会更好地理解它们。...Docker有三个组件和三个基本元素,读者可以快速浏览下面这个视频来了解这些组建和元素,以及它们关系。三个组件分别是: Docker
  • DOCKER使用教程

    2021-04-07 11:06:19
    Docker有三个组件和三个基本元素,读者可以快速浏览下面这个视频来了解这些组建和元素,以及它们关系。三个组件分别是: Docker Client是用户界面,它支持用户与Docker Daemon之间通信。 Docker Daemon运行于...
  • 、课题的基本内容 这是一款十分变态虐心休闲游戏。游戏主打像素风格,粗看画面十分简陋,,游戏中玩家需要点击屏幕操作一只小鸟在类似《超级马里奥》绿色管道改变数字中穿行,游戏方式是飞翔小鸟带...
  • 本系统开发难点主要有三个方面:一是硬件模块如何通过网络与系统建立通信;二是手机端(Android)应用与系统是如何进行信息交换;三是系统面对大量硬件模块如何处理高并发硬件请求;只有硬件模块与系统建立...
  • 持续交付-发布可靠软件系统方法

    热门讨论 2014-03-02 01:32:14
    3.2.2 一个基本的持续集成系统 45 3.3 持续集成前提条件 46 3.3.1 频繁提交 46 3.3.2 创建全面自动化测试套件 47 3.3.3 保持较短构建和测试过程 47 3.3.4 管理开发工作区 49 3.4 使用持续集成软件 49 ...
  • 3.2.2 一个基本的持续集成系 统 45 3.3 持续集成前提条件 46 3.3.1 频繁提交 46 3.3.2 创建全面自动化测试 套件 47 3.3.3 保持较短构建和测试 过程 47 3.3.4 管理开发工作区 49 3.4 使用持续...
  • 变为基于一个个组件进行开发。开发完成后使用 webpack 等工具进行打包构建,并通过基于 Node.js 实现命令行工具将构建结果发布上线。前端开发开始变得规范化、标准化、工程化。 <p><a name="19b496a8"></a>...
  • JiveJdon v4.6.1.zip

    2019-07-06 06:42:47
    功能性能和设计是衡量软件的三个基本方面,开源Jivejdon是这三者完美结合案例之一。ivejdon是真正的、彻底的、完全面向对象软件系统。是目前国内领先的、高水准开源论坛系统(Apache 2.0),不断跟踪和应用全球软件...
  • 实现了大型网站插件化(父子树形插件组织)、模块化(使得每插件可以开发标准web组件)、 远程服务标准(类似于webservice实现,它以json为基本协议,且命令行化,更容易开发或让第方对接)、以及云计算机...
  • 面向云架构COA:讲解云计算的发展阶段的概念,包括网格计算、集群计算、分布式计算和云计算,以及云服务的特点、实现形式和实际应用。随书附赠光盘内容为本书各种原型包、系统源程序。 目录: 绪论 软件设计...
  • Hadoop实战中文版

    2015-05-19 23:02:07
    《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3部分,深入浅出地...
  • Hadoop实战中文版.pdf

    热门讨论 2015-01-19 13:26:50
    《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3部分,深入浅出地...
  • 2.2.5 写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合和为100组合个数 2.2.6 实现一个函数,把一个字符串中字符从小写转为大写 2.2.7 随机输入一个数,判断它是不是对称数(回文数)(如3,121,...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
热门标签
关键字:

云计算的三个基本组件