服务器登录节点和盘算节点(服务器节点数)「服务器节点」

  本文参考:https://docs.openstack.org/ocata/install-guide-rdo/index.html官方文档来手把手教你安装Ocata,安装文档中有弊端的地方,本文都会提及。本指南不会给出全部下令的输出结果,只给出部分须要的表明,因此在安装时最好对照着官方文档举行。

  本文目次:

安装环境

认证服务

镜像服务

盘算服务

网络服务

Dashboard

一、安装环境

1、示例架构

  根据官方文档,本文架构采取一个控制节点和一个盘算节点。

  (Theexamplearchitecturerequiresatleasttwonodes(hosts)tolaunchabasicvirtualmachineorinstance.)

  控制节点运行认证服务、镜像服务、盘算服务的管理部分、网络服务的管理部分、各种网络署理以及Dashboard,还包罗一些底子服务如数据库、消息队列以及NTP。

  盘算节点上运行盘算服务中管理实例的管理程序部分。默认环境下,盘算服务利用KVM。还运行网络署理服务,用来毗连实例和假造网络以及通过安全组给实例提供防火墙服务。

  2、网络

公有网络

  公有网络选项以尽大概简单的方式通过layer-2(网桥/互换机)服务以及VLAN网络的分割来摆设OpenStack网络服务。实际上,它将假造网络桥接到物理网络,并依靠物理网络底子办法提供layer-3服务(路由)。别的,DHCP服务为实例提供IP地点。

私有网络

  私有网络选项扩展了公有网络选项,增长了layer-3(路由)服务,利用VXLAN雷同的方式。本质上,它利用NAT路由假造网络到物理网络。别的,这个选项也提供高级服务的底子,比如LBaas和FWaaS。

  这里我们选择私有网络。

  3、安全

  下面是各个必要暗码的服务以及表明,发起这些暗码利用同一个,以免肴杂。

  

  4、主机网络设置

  控制节点

设置网络接口

  Controller:IP:192.168.0.112/24GATEWAY:192.168.0.1

  网络设置完之后必要将防火墙和selinux关闭。

关闭防火墙:

  systemctlstopfirewalld.service

服务器登录节点和计算节点(服务器节点数) 服务器登录节点和盘算
节点(服务器节点数)「服务器 节点」 行业资讯

克制防火墙开机启动

  systemctldisablefirewalld.service

关闭selinux

  vim/etc/selinux/config,设置selinux=disabled

  #setenforce0,使设置立即见效

设置地点分析

  编辑/etc/hosts

  #controller

  192.168.0.112controller

  #compute1

  192.168.0.113compute1

  盘算节点

设置网络接口。

  Compute:IP:192.168.0.113/24GATEWAY:192.168.0.1

  同样必要设置地点分析,参考控制节点。

  设置完成之后必要举行验证:

与外网连通性:

  分别在控制节点和盘算节点上:

  #ping-c4www.baidu.com

控制节点和盘算节点连通性:

  控制节点上输入#ping-c4compute1

  盘算节点上输入#ping-c4controller

5、NTP

  控制节点

安装相干包

  #yuminstallchrony

编辑/etc/chrony.conf

  serverNTP_SERVERiburst

  可以根据必要将NTP_SERVER更换为符合的NTP服务器,发起不消改。然后添加:

  allow192.168.0.0/24

  即答应盘算节点同步。(盘算节点IP网段属于192.168.0.0)

  #systemctlenablechronyd.service

  #systemctlstartchronyd.service

  启动服务。

  盘算节点

  编辑/etc/chrony.conf,可以将其他的几个同步地点解释掉。

  servercontrolleriburst

  同步控制节点。

  #systemctlenablechronyd.service

  #systemctlstartchronyd.service

  启动服务。(假如发现同步的不是控制节点,那么重启一下NTP服务即可。)

  #systemctlrestartchronyd.service

  验证操纵:

  在控制节点上同步时间。

  #chronycsources

  带星号的是NTP当前同步的地点。

  盘算节点上同步。

  #chronycsources

  210Numberofsources=1

  MSName/IPaddress

  StratumPollReachLastRxLastsample

  ======================================================

  ^*controller39377421+15us[-87us]+/-15ms

6、安装OpenStack包

  以下操纵在全部节点上举行。

启用OpenStack库:

  #yuminstallcentos-release-openstack-ocata

完成安装

  1)在全部节点上升级包

#yumupgrade

  2)安装OpenStack客户端

  #yuminstallpython-openstackclient

  3)CentOS默认启用了SELinux,安装openstack-selinux来主动管理OpenStack服务的安全战略。

  #yuminstallopenstack-selinux

  7、安装数据库

  数据库一样平常运行在控制节点上。

  安装并设置组件。

安装相干包。

  #yuminstallmariadbmariadb-serverpython2-PyMySQL

  创建并编辑/etc/my.cnf.d/openstack.cnf文件,并完成以下操纵。在设置文件中添加以下设置:

  [mysqld]

  bind-address=192.168.0.112

  default-storage-engine=innodb

  innodb_file_per_table=on

  max_connections=4096

  collation-server=utf8_general_ci

  character-set-server=utf8

  此中bind-address为控制节点IP地点。

完成安装

  1)启动数据库并设置开机启动

  #systemctlenablemariadb.service

  #systemctlstartmariadb.service

  2)运行mysql_secure_installation脚原来包管数据库安全,为root账户设置一个符合的暗码

  #mysql_secure_installation

  8、消息队列

  OpenStack利用消息队列来和谐服务之间的状态和操纵,消息队列服务一样平常运行在控制节点上。,OpenStack支持RabbitMQ,Qpid以及ZeroMQ等消息队列服务。本指南利用RabbitMQ消息队列服务。

安装相干包

  #yuminstallrabbitmq-server

启动消息队列并设置开机启动

  #systemctlenablerabbitmq-server.service

  #systemctlstartrabbitmq-server.service

添加openstack用户

  #rabbitmqctladd_useropenstackRABBIT_PASS

  Creatinguser"openstack"...

  利用符合的暗码更换掉RABBIT_PASS

答应openstack用户的设置、写、读权限

  #rabbitmqctlset_permissionsopenstack".*"".*"".*"

  Settingpermissionsforuser"openstack"invhost"/"...

9、缓存令牌

  认证服务的认证机制利用Memcached来缓存令牌,一样平常运行在控制节点上。

安装相干包

  #yuminstallmemcachedpython-memcached

  编辑/etc/sysconfig/memcached文件并设置IP地点,将127.0.0.1改为控制节点IP。

完成安装

  启动Memcached服务并设置开机启动。

  #systemctlenablememcached.service

  #systemctlstartmemcached.service

二、认证服务

  在控制节点上设置。1、条件条件

创建数据库

  以root身份登录数据库

$mysql-uroot-p

  创建keystone数据库

  MariaDB[(none)]CREATEDATABASEkeystone;

  给数据库赋予得当的权限;

  MariaDB[(none)]GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'localhost'

  IDENTIFIEDBY'KEYSTONE_DBPASS';

  MariaDB[(none)]GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'%'

  IDENTIFIEDBY'KEYSTONE_DBPASS';

  用符合的暗码更换KEYSTONE_DBPASS

  2、安装并设置组件

运行下令安装相干包

  #yuminstallopenstack-keystonehttpdmod_wsgi

  编辑文件/etc/keystone/keystone.conf

  在[database]选项设置数据库毗连

  [database]

  #...

  connection=mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone

  更换掉KEYSTONE_DBPASS

  在[token]选项中,设置,Fernet令牌提供者:

  [token]

  #...

  provider=fernet

同步认证服务数据库

  #su-s/bin/sh-c"keystone-managedb_sync"keystone

初始化Fernetkey堆栈

  #keystone-managefernet_setup--keystone-userkeystone--keystone-

  groupkeystone

  #keystone-managecredential_setup--keystone-userkeystone--keystone-groupkeystone

引导认证服务

  #keystone-managebootstrap--bootstrap-passwordADMIN_PASS

  --bootstrap-admin-urlhttps://controller:35357/v3/

  --bootstrap-internal-urlhttps://controller:5000/v3/

  --bootstrap-public-urlhttps://controller:5000/v3/

  --bootstrap-region-idRegionOne

  更换掉ADMIN_PASS

设置Apache服务器

编辑/etc/httpd/conf/httpd.conf并设置ServerName选项,使之参考控制节点

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

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

完成安装

  1.启动Apache服务器并设置开机启动

  #systemctlenablehttpd.service

  #systemctlstarthttpd.service

  2.设置管理账户

  $exportOS_USERNAME=admin

  $exportOS_PASSWORD=ADMIN_PASS

  $exportOS_PROJECT_NAME=admin

  $exportOS_USER_DOMAIN_NAME=Default

  $exportOS_PROJECT_DOMAIN_NAME=Default

  $exportOS_AUTH_URL=https://controller:35357/v3

  $exportOS_IDENTITY_API_VERSION=3

3、创建一个域、项目、用户和脚色

本指南有一个service项目,你添加的每一个服务都有唯一的用户。

  $openstackprojectcreate--domaindefault

  --deion"ServiceProject"service

平凡的任务不应该利用具有特权的项目和用户。作为示例,本指南创建一个demo项目和用户。

  1、创建demo项目:

  $openstackprojectcreate--domaindefault

  --deion"DemoProject"demo

  2、创建demo用户:

  ?

  $openstackusercreate--domaindefault

  --password-promptdemo

  3、创建user脚色:

  $openstackrolecreateuser

  4、将user脚色添加到demo项目和用户中。

  $openstackroleadd--projectdemo--userdemouser

4、验证操纵

出于安全性的缘故起因,禁用掉临时的认证令牌机制。

  编辑/etc/keystone/keystone-paste.ini文件,并从[pipeline:public_api],[pipeline:admin_api],和[pipeline:api_v3]选项中删除admin_token_auth

  

取消设置临时的OS_AUTH_URL和OS_PASSWORD环境变量:

  $unsetOS_AUTH_URLOS_PASSWORD

利用admin用户,哀求一个认证令牌;

  $openstack--os-auth-urlhttps://controller:35357/v3

  --os-project-domain-namedefault--os-user-domain-namedefault

  --os-project-nameadmin--os-usernameadmintokenissue

  这里碰到错误

  

  由于是Http错误,以是返回ApacheHTTP服务设置的地方,重启Apache服务,并重新设置管理账户:

  #systemctlrestarthttpd.service

  $exportOS_USERNAME=admin

  $exportOS_PASSWORD=ADMIN_PASS

  $exportOS_PROJECT_NAME=admin

  $exportOS_USER_DOMAIN_NAME=Default

  $exportOS_PROJECT_DOMAIN_NAME=Default

  $exportOS_AUTH_URL=https://controller:35357/v3

  $exportOS_IDENTITY_API_VERSION=3

  

  错误办理!

利用demo用户,哀求认证令牌:

  $openstack--os-auth-urlhttps://controller:5000/v3

  --os-project-domain-namedefault--os-user-domain-namedefault

  --os-project-namedemo--os-usernamedemotokenissue

  Password:

  暗码为创建demo用户时的暗码。

  5、创建OpenStack客户端环境脚本:

  在前面章节中,我们利用环境变量和下令的组合来设置认证服务,为了更加高效和方便,我们创建一个脚本方便以后的操纵。这些脚本包罗一些公共的操纵,但是也支持自界说的操纵。

创建脚本

  创建并编辑admin-openrc文件,并添加以下内容:

  exportOS_PROJECT_DOMAIN_NAME=Default

  exportOS_USER_DOMAIN_NAME=Default

  exportOS_PROJECT_NAME=admin

  exportOS_USERNAME=admin

  exportOS_PASSWORD=root

  exportOS_AUTH_URL=https://controller:35357/v3

  exportOS_IDENTITY_API_VERSION=3

  exportOS_IMAGE_API_VERSION=2

  更换掉OS_PASSWORD的暗码。

  创建并编辑demo-openrc文件,并添加以下内容:

  exportOS_PROJECT_DOMAIN_NAME=Default

  exportOS_USER_DOMAIN_NAME=Default

  exportOS_PROJECT_NAME=demo

  exportOS_USERNAME=demo

  exportOS_PASSWORD=DEMO_PASS

  exportOS_AUTH_URL=https://controller:5000/v3

  exportOS_IDENTITY_API_VERSION=3

  exportOS_IMAGE_API_VERSION=2

利用脚本

  加载脚本文件更新环境变量:

  $.admin-openrc

  哀求一个认证令牌;

  $openstacktokenissue

  三、镜像服务

  1、条件条件

创建数据库

  毗连数据库,利用root登录。

  $mysql-uroot-p

  创建glance数据库

  MariaDB[(none)]CREATEDATABASEglance;

  赋予权限:

  MariaDB[(none)]GRANTALLPRIVILEGESONglance.*TO'glance'@'localhost'

  IDENTIFIEDBY'GLANCE_DBPASS';

  MariaDB[(none)]GRANTALLPRIVILEGESONglance.*TO'glance'@'%'

  IDENTIFIEDBY'GLANCE_DBPASS';

  更换GLANCE_DBPASS为符合的暗码;

  退出数据库毗连。

导入admin证书来获取只有admin才华实行的下令行权限;

  $.admin-openrc

创建服务认证:

  创建glance用户

  $openstackusercreate--domaindefault--password-promptglance

  添加管理员脚色到glance用户和service项目中:

  $openstackroleadd--projectservice--userglanceadmin

创建glance服务实体

  创建镜像服务API端口:

  $openstackendpointcreate--regionRegionOne

  imagepublichttps://controller:9292

  $openstackendpointcreate--regionRegionOne

  imageinternalhttps://controller:9292

  $openstackendpointcreate--regionRegionOne

  imageadminhttps://controller:9292

2、安装并设置组件

安装相干包:

  #yuminstallopenstack-glance

编辑/etc/glance/glance-api.conf文件,完成以下操纵;

  在[keystone_authtoken]和[paste_deploy]选项中,设置认证服务权限:

  [keystone_authtoken]

  #...

  auth_uri=https://controller:5000

  auth_url=https://controller:35357

  memcached_servers=controller:11211

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  project_name=service

  username=glance

  password=GLANCE_PASS

  [paste_deploy]

  #...

  flavor=keystone

  更换掉GLANCE_PASS暗码。删除或解释掉其他[keystone_authtoken]参数。

  在[glance_store]选项中,设置本地文件体系存储和镜像文件位置。

  [glance_store]

  #...

  stores=file,http

  default_store=file

  filesystem_store_datadir=/var/lib/glance/images/

  编辑/etc/glance/glance-registry.conf文件,并完成以下操纵:

  在[database]选项中,设置数据库权限:

  [database]

  #...

  connection=mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

  更换掉GLANCE_DBPASS暗码。

  在[keystone_authtoken]和[paste_deploy]选项中,设置认证服务权限:

[keystone_authtoken]

  #...

  auth_uri=https://controller:5000

  auth_url=https://controller:35357

  memcached_servers=controller:11211

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  project_name=service

  username=glance

  password=GLANCE_PASS

  [paste_deploy]

  #...

  flavor=keystone

  更换掉GLANCE_DBPASS暗码。

  4、更新镜像服务数据库

  完成安装

启动镜像服务并设置开机启动。

  #systemctlenableopenstack-glance-api.service

  openstack-glance-registry.service

  #systemctlstartopenstack-glance-api.service

  openstack-glance-registry.service

5、验证操纵

获取admin权限

  $.admin-openrc

下载源镜像

  $wgethttps://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

上传镜像

  $openstackimagecreate"cirros"

  --filecirros-0.3.4-x86_64-disk.img

  --disk-formatqcow2--container-formatbare

  --public

验证上传镜像:

  openstackimagelist

四、盘算服务

1、安装和设置控制节点

预备条件

服务器登录节点和计算节点(服务器节点数) 服务器登录节点和盘算
节点(服务器节点数)「服务器 节点」 行业资讯

  创建数据库,与之前步调雷同,这里不再具体列出

  $mysql-uroot-p

  MariaDB[(none)]CREATEDATABASEnova_api;

  MariaDB[(none)]CREATEDATABASEnova;

  MariaDB[(none)]GRANTALLPRIVILEGESONnova_api.*TO'nova'@'localhost'

  IDENTIFIEDBY'NOVA_DBPASS';

  MariaDB[(none)]GRANTALLPRIVILEGESONnova_api.*TO'nova'@'%'

  IDENTIFIEDBY'NOVA_DBPASS';

  MariaDB[(none)]GRANTALLPRIVILEGESONnova.*TO'nova'@'localhost'

  IDENTIFIEDBY'NOVA_DBPASS';

  MariaDB[(none)]GRANTALLPRIVILEGESONnova.*TO'nova'@'%'

  IDENTIFIEDBY'NOVA_DBPASS';

获取admin权限:

  $.admin-openrc

  创建nova用户

  $openstackusercreate--domaindefault

  --password-promptnova

  设置符合的暗码

  向nova用户中添加admin脚色。

  $openstackroleadd--projectservice--usernovaadmin

  创建nova服务实体

  $openstackservicecreate--namenova

  --deion"OpenStackCompute"compute

  2、创建盘算服务API端口

  $openstackendpointcreate--regionRegionOne

  computepublichttps://controller:8774/v2.1/%(tenant_id)s

  $openstackendpointcreate--regionRegionOne

  computeinternalhttps://controller:8774/v2.1/%(tenant_id)s

  $openstackendpointcreate--regionRegionOne

  computeadminhttps://controller:8774/v2.1/%(tenant_id)s

安装并设置组件

  安装相干包

  #yuminstallopenstack-nova-apiopenstack-nova-conductor

  openstack-nova-consoleopenstack-nova-novncproxy

  openstack-nova-scheduler

编辑/etc/nova/nova.conf文件

  在[DEFAULT]选项中,开启盘算和元数据API

  [DEFAULT]

  #...

  enabled_apis=osapi_compute,metadata

  在[api_database]和[database]选项中,设置数据库毗连

  [api_database]

  #...

  connection=mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

  [database]

  #...

  connection=mysql+pymysql://nova:NOVA_DBPASS@controller/nova

  更换NOVA_DBPASS暗码。

  在[DEFAULT]选项中,设置消息队列毗连。

  [DEFAULT]

  #...

  transport_url=rabbit://openstack:RABBIT_PASS@controller

  更换掉RABBIT_PASS

  在[api]和[keystone_authtoken]选项中,

  [api]

  #...

  auth_strategy=keystone

  [keystone_authtoken]

  #...

  auth_uri=https://controller:5000

  auth_url=https://controller:35357

  memcached_servers=controller:11211

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  project_name=service

  username=nova

  password=NOVA_PASS

  更换掉NOVA_PASS

  在[DEFAULT]选项中,设置my_ip

  [DEFAULT]

  #...

  my_ip=10.0.0.11

  开启对网络服务的支持

  [DEFAULT]

  #...

  use_neutron=True

  firewall_driver=nova.virt.firewall.NoopFirewallDriver

  在[vnc]选项中,设置VNC署理

  [vnc]

  enabled=true

  #...

  vncserver_listen=$my_ip

  vncserver_proxyclient_address=$my_ip

  在[glance]选项中,设置镜像服务API的位置。

  [glance]

  #...

  api_servers=https://controller:9292

  在[oslo_concurrency]选项中,设置锁定路径

  [oslo_concurrency]

  #...

  lock_path=/var/lib/nova/tmp

  更新数据库

  #su-s/bin/sh-c"nova-manageapi_dbsync"nova

  #su-s/bin/sh-c"nova-managedbsync"nova

完成安装

  开启盘算服务并设置开机启动;

  #systemctlenableopenstack-nova-api.service

  openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service

  openstack-nova-conductor.serviceopenstack-nova-novncproxy.service

  #systemctlstartopenstack-nova-api.service

  openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service

  openstack-nova-conductor.serviceopenstack-nova-novncproxy.service

3、安装并设置盘算节点

安装并设置组件

  安装相干包

  #yuminstallopenstack-nova-compute

  编辑/etc/nova/nova.conf文件

  在[DEFAULT]选项中,开启盘算和元数据API

  [DEFAULT]

  #...

  enabled_apis=osapi_compute,metadata

  在[DEFAULT]选项中,设置消息队列权限

  [DEFAULT]

  #...

  transport_url=rabbit://openstack:RABBIT_PASS@controller

  更换掉RABBIT_PASS

  在[api]和[keystone_authtoken]选项中,设置认证服务权限

  [api]

  #...

  auth_strategy=keystone

  [keystone_authtoken]

  #...

  auth_uri=https://controller:5000

  auth_url=https://controller:35357

  memcached_servers=controller:11211

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  project_name=service

  username=nova

  password=NOVA_PASS

  更换掉NOVA_PASS

  在[DEFAULT]选项中,设置my_ip参数

  [DEFAULT]

  #...

  my_ip=MANAGEMENT_INTERFACE_IP_ADDRESS

  更换MANAGEMENT_INTERFACE_IP_ADDRESS为盘算节点IP

  在[DEFAULT]选项中,开启网络服务支持

  [DEFAULT]

  #...

  use_neutron=True

  firewall_driver=nova.virt.firewall.NoopFirewallDriver

  在[vnc]选项中,开启并设置长途控制台权限

  [vnc]

  #...

  enabled=True

  vncserver_listen=0.0.0.0

  vncserver_proxyclient_address=$my_ip

  novncproxy_base_url=https://controller:6080/vnc_auto.html

  在[glance]选项中,设置镜像服务API地点

  [glance]

  #...

  api_servers=https://controller:9292

  在[oslo_concurrency]选项,设置锁定路径

  [oslo_concurrency]

  #...

  lock_path=/var/lib/nova/tmp

  4、完成安装

查抄你的盘算节点是否支持硬件假造化

  $egrep-c'(vmx|svm)'/proc/cpuinfo

  假如输出值大于便是1,那么不必要设置,否则,必要做一下设置

  编辑/etc/nova/nova.conf文件,设置[libvirt]

  [libvirt]

  #...

  virt_type=qemu

开启盘算服务并设置开机启动

  #systemctlenablelibvirtd.serviceopenstack-nova-compute.service

  #systemctlstartlibvirtd.serviceopenstack-nova-compute.service

验证操纵

  在控制节点上举行操纵。

  获取admin权限

  $.admin-openrc

  列出服务组件来验证每个组件都乐成运行了

  $openstackcomputeservicelist

  这里碰到题目:发现盘算节点上服务没有启动

  

  

  查察盘算节点日记:/var/log/nova/nova-compute.log发现

  

  内里提到必要设置placement,而官方文档并没有提到这一点。办理办法是安装openstack-nova-placement-api,并设置相干选项。

  在控制节点上,然后创建用户把用户placement添加到项目中去并创建placement范例的服务目次:

  

  

  终极创建端口:

  openstackendpointcreate--regionRegionOneplacementpublichttps://192.168.0.112:8778

  openstackendpointcreate--regionRegionOneplacementadminhttps://192.168.0.112:8778

  openstackendpointcreate--regionRegionOneplacementintenalhttps://192.168.0.112:8778

  在盘算节点上编辑文件:/etc/nova/nova.conf

  在placement选项中添加:

  auth_uri=https://controller:5000

  auth_url=https://controller:35357

  memcached_servers=controller:11211

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  project_name=service

  username=nova

  password=root

  os_region_name=RegionOne

  更换掉password,重启盘算服务:

  #systemctlrestartopenstack-nova-compute.service

  可以看到服务已经启动:

  

  控制节点上也表现正常:

  

  在此参考了

  https://superbigsea.blog.51cto.com/6862263/1901216,特别感谢!

  下面接着验证操纵:

  3、列出认证服务中的API端口以查抄连通性

  $openstackcataloglist

  

  4、列出镜像服务中的镜像以验证连通性;

  $openstackimagelist

  

  下节继承设置网络服务和Dashboard。

  相干阅读:高端私有云项目交换群,欢迎参加!

《运维火线》新书发布,十三位火线运维专家倾力奉献,现场送出30本。云技能社区、华章书院、优云联手倾力出色奉献!现场尚有云技能社区定制数据线、北极熊袋子等风雅礼品!2017年首场专业运维集会会议,一线专家解密当前运维火线,扫码大概点击阅读原文立即报名!

《运维火线》一书是十三位一线运维专家的深度实践,云技能社区历经整整一年多策划出品,想要得到免费的《运维火线》,请来参加“运维之春---2017运维火线解密”沙龙。同时,《运维火线》下一本书也开始约请作者参加,假如故意向分享本身的运维实践履历,请加微信:xiaolikvm。

  参加云技能社区技能交换微信群,接洽北极熊微信:hadxiaer(加的时间请备注:姓名-都会-公司)

  

  

  

  

  交换分享提拔

  

  云技能社区创建于2014年,国内最大的云技能交换平台,分享在云盘算/假造化项目实行中的资讯、履历和技能,对峙干货。旗下运营:云技能实践、云技能、桌面云之云潮涌动等公众号,以及相干的微信群和QQ群,覆盖云盘算范畴的技能人群,参加云技能社区微信、QQ群请点击订阅号菜单“群和活动”。

  

  

客户评论

我要评论