DevOps学院

DevOps学院

中国新一代IT在线教育平台
运维知识体系

运维知识体系

运维知识体系总结,持续更新,欢迎转载。
缓存知识体系

缓存知识体系

运维知识体系之缓存,分层多级缓存体系。
速云科技

速云科技

DevOps咨询、企业内训、落地解决方案。

SaltStack快速入门(3)-SaltStack远程执行

SaltStack赵班长 发表了文章 • 0 个评论 • 2884 次浏览 • 2015-10-27 22:39 • 来自相关话题

      在前面3个小节我们介绍了SaltStack并且讲解了Salt的安装部署。相信你现在已经只有拥有一个Master和至少一个Minion。我们能做点什么呢?下面的两个章节,带领读者快速的使用SaltStack的远程执行和配置管理功能。

    远程执行时SaltStack的核心功能之一。主要使用salt模块可以批量给选定的Minion端执行相应的命令,并获得返回结果。让我们执行第一个Salt命令。

[root@master ~]# salt '*' test.ping
minion.example.com:
True

    上面的命令用来查看有哪些Minion节点连接到Master。* 指的是选定的目标Minion,很显然代表所有。就是所有Minion端了。test.ping是salt远程执行的一个模块。(注意:这并不是一个ICMP ping。)

SaltStack可以使用cmd.run模块远程执行shell命令,使用cmd.run。如:让 Minion节点运行uptime命令。

[root@master ~]# salt '*' cmd.run 'uptime'
minion.example.com:
     18:00:04 up 8 min,  1 user,  load average: 0.00, 0.05, 0.03

      SaltStack提供了大量的命令模块可以使用。更详细远程执行的相关知识请参考第九章。好吧,也许你不想掌握更多的命令,那么尽情的用cmd.run吧。但是由于cmd.run可以执行所有的命令,所以不建议在生产环境中使用cmd.run。或者使用ACL来控制让哪些用户可以使用cmd.run。 查看全部
      在前面3个小节我们介绍了SaltStack并且讲解了Salt的安装部署。相信你现在已经只有拥有一个Master和至少一个Minion。我们能做点什么呢?下面的两个章节,带领读者快速的使用SaltStack的远程执行和配置管理功能。

    远程执行时SaltStack的核心功能之一。主要使用salt模块可以批量给选定的Minion端执行相应的命令,并获得返回结果。让我们执行第一个Salt命令。


[root@master ~]# salt '*' test.ping
minion.example.com:
True


    上面的命令用来查看有哪些Minion节点连接到Master。* 指的是选定的目标Minion,很显然代表所有。就是所有Minion端了。test.ping是salt远程执行的一个模块。(注意:这并不是一个ICMP ping。)

SaltStack可以使用cmd.run模块远程执行shell命令,使用cmd.run。如:让 Minion节点运行uptime命令。


[root@master ~]# salt '*' cmd.run 'uptime'
minion.example.com:
     18:00:04 up 8 min,  1 user,  load average: 0.00, 0.05, 0.03


      SaltStack提供了大量的命令模块可以使用。更详细远程执行的相关知识请参考第九章。好吧,也许你不想掌握更多的命令,那么尽情的用cmd.run吧。但是由于cmd.run可以执行所有的命令,所以不建议在生产环境中使用cmd.run。或者使用ACL来控制让哪些用户可以使用cmd.run。

SaltStack快速入门(2)-SaltStack部署

SaltStack赵班长 发表了文章 • 2 个评论 • 3946 次浏览 • 2015-10-27 22:38 • 来自相关话题

SaltStack支持多种操作系统,如CentOS、RedHat、Debian、Ubuntu、FreeBSD、Solaris、Fedora、SuSe、Gentoo、MAC OS X、Archlinux等,以及Windows(仅支持Minion)。

 RHEL/CentOS下安装SaltStack
对于Centos和RedHat用户,使用yum安装时最直接和快捷的。首先需要安装EPEL仓库。
For RHEL/CentOS 5

rpm -ivh http://mirrors.ustc.edu.cn/fed ... h.rpm

For RHEL/CentOS 6

rpm -ivh http://dl.fedoraproject.org/pu ... h.rpm


Salt Master安装:

[root@master ~]#yum install -y salt-master python-setproctitle

Salt Master启动:

[root@master ~]#/etc/init.d/salt-master start

Salt Master加入开机启动:

[root@master ~]# chkconfig salt-master on


Salt Minion安装:

[root@minion ~]#yum install -y salt-minion

Salt Minion 启动:

[root@minion ~]#/etc/init.d/salt-minion start

Salt Minion 加入开机启动:

[root@minion ~]#chkconfig salt-minion on


服务端日志:
[root@master ~]# tail -f /var/log/salt/master
客户端日志:
[root@minion ~]# tail -f /var/log/salt/minion

 Ubuntu下安装SaltStack
添加salt仓库

sudo add-apt-repository ppa:saltstack/salt     
sudo apt-get update    

安装master

sudo apt-get install salt-master    

安装minion

sudo apt-get install salt-minion

 Windows下安装Salt Minion
目前SaltStack的Master 还无法运行在windows 上,也许永远都不会。但是可以运行Minion。
Minion在Windows下安装:
在https://docs.saltstack.com/downloads/ 下载最新相对应的Salt-Minion-*-Setup.exe 直接运行安装即可。同时也可以在cmd窗口,通过命令安装:

Salt-Minion-*-Setup.exe /S /master=master-ip /minion-name=minion-name    

 其他操作系统安装
本文的案例环境是CentOS。可以通过以下网址获取到其它更多操作系统的安装方法:
http://docs.saltstack.com/en/l ... .html 

Salt配置文件

Salt Master配置
Master端的配置是修改/etc/salt下master配置文件。以下是Master端常用的配置。

interface:  指定bind 的地址(默认为0.0.0.0)
publish_port:  指定发布端⼝(默认为4505)
ret_port:  指定结果返回端⼝,  与minion配置⽂件中的master_port对应(默认为4506)
user: 指定master 进程的运⾏⽤户,  如果调整,  则需要调整部分目录的权限(默认为root)
timeout:  指定timeout时间,  如果minion规模庞⼤或⺴络状况不好,建议增⼤该值(默认5s)
keep_jobs:  默认情况下, minion 会执⾏结果会返回master, master会缓存到本地的cachedir ⺫录,  该参数指定缓存多⻓时间,  以供查看之前的执⾏结果,  会占⽤磁盘空间(默认为24h)
job_cache: master 是否缓存执⾏结果,  如果规模庞⼤(超过5000台),  建议使⽤其他⽅式来存储jobs,  关闭本选项(默认为True)
file_recv :  是否允许minion传送⽂件到master 上(默认是Flase)
file_roots: 指定file server⺫录,  默认为:
file_roots:    
   base:    
    - /srv/salt     
pillar_roots :  指定pillar ⺫录,  默认为:
pillar_roots:     
  base:     
    - /srv/pillar     
log_level:  执⾏⽇志级别,  ⽀持的⽇志级别有'garbage', 'trace', 'debug', info', 'warning', 'error', ‘critical ’ ( 默认为’warning’)

Salt Minion配置
Minion端配置非常简单,一般只需要修改两个配置即可。
[root@minion ~]# vim /etc/salt/minion

master: 192.168.56.111 (修改master为master的IP地址)
id: (客户端的id。默认不设置会取客户端的FQDN主机名)

Minion常用配置

master: 指定master 主机(默认为salt)
master_port: 指定认证和执⾏结果发送到master 的哪个端⼝,  与master 配置⽂件中的ret_port 对应(默认
为4506)
id:  指定本minion的标识. salt内部使⽤id 作为标识(默认为主机名)
user: 指定运⾏minion的⽤户.  由于安装包,启动服务等操作需要特权⽤户,  推荐使⽤root( 默认为root)
cache_jobs : minion 是否缓存执⾏结果(默认为False)
backup_mode:  在⽂件操作(file.managed 或file.recurse) 时,  如果⽂件发⽣变更,指定备份⺫标.  当前有效
的值为minion, 备份在cachedir/file_backups⺫录下,  以原始⽂件名称加时间戳来命名(默认为Disabled)
providers :  指定模块对应的providers, 如在RHEL系列中, pkg对应的providers 是yumpkg5
renderer: 指定配置管理系统中的渲染器(默认值为:yaml_jinja )
file_client :  指定file clinet 默认去哪⾥(remote 或local) 寻找⽂件(默认值为remote)
loglevel:  指定⽇志级别(默认为warning)
tcp_keepalive : minion 是否与master 保持keepalive 检查, zeromq3 以下版本存在keepalive bug,会导致某些情况下连接异常后minion⽆法重连master. 建议有条件的话升级到zeromq 3以上版本(默认为True)

SaltStack认证
Salt的数据传输是通过AES加密的,Master和Minion之间在通信之前,需要进行认证。通过认证的方式保证安全性,完成一次认证后,Master就可以自由的控制Minion来完成各项工作了。了解了认证的详细有助于我们在日常管理中管理Minion,已经及时处理问题。
1.minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和minion.pub(public key),然后将minion.pub发送给master。2.master在第一次启动时,会在/etc/salt/pki/master下自动生成master.pem和master.pub。在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的public key, 客户端会保存一份master的public key,在/etc/salt/pki/minion_master.pub3.通过两个步骤的验证,master就能对minion发送指令了。

 Master端Key认证
在上面一个小节已经提到了Master与Minion的认证方式,只有Master接受了Minion的Key后,才能进行管理。具体的认证命令为salt-key,常用的有如下命令。

-a ACCEPT, --accept=ACCEPT Accept the following key
-A, --accept-all    Accept all pending keys
-r REJECT, --reject=REJECT Reject the specified public key
-R, --reject-all    Reject all pending keys
-d DELETE, --delete=DELETE Delete the named key
-D, --delete-all    Delete all keys

例:查看需要认证的Minion:
[root@master ~]# salt-key
Accepted Keys:
Unaccepted Keys:
minion.example.com
Rejected Keys:
认证Minion:
[root@master ~]# salt-key --accept=*
The following keys are going to be accepted:
Unaccepted Keys:
minion.example.com
Proceed? [n/Y] Y
Key for minion minion.example.com accepted.

小提示:无论是accept还是delete都支持Linux的Shell通配符。 查看全部
SaltStack支持多种操作系统,如CentOS、RedHat、Debian、Ubuntu、FreeBSD、Solaris、Fedora、SuSe、Gentoo、MAC OS X、Archlinux等,以及Windows(仅支持Minion)。

 RHEL/CentOS下安装SaltStack
对于Centos和RedHat用户,使用yum安装时最直接和快捷的。首先需要安装EPEL仓库。
For RHEL/CentOS 5


rpm -ivh http://mirrors.ustc.edu.cn/fed ... h.rpm


For RHEL/CentOS 6


rpm -ivh http://dl.fedoraproject.org/pu ... h.rpm



Salt Master安装:


[root@master ~]#yum install -y salt-master python-setproctitle


Salt Master启动:


[root@master ~]#/etc/init.d/salt-master start


Salt Master加入开机启动:


[root@master ~]# chkconfig salt-master on



Salt Minion安装:


[root@minion ~]#yum install -y salt-minion


Salt Minion 启动:


[root@minion ~]#/etc/init.d/salt-minion start


Salt Minion 加入开机启动:


[root@minion ~]#chkconfig salt-minion on



服务端日志:
[root@master ~]# tail -f /var/log/salt/master
客户端日志:
[root@minion ~]# tail -f /var/log/salt/minion

 Ubuntu下安装SaltStack
添加salt仓库


sudo add-apt-repository ppa:saltstack/salt     
sudo apt-get update    


安装master


sudo apt-get install salt-master    


安装minion


sudo apt-get install salt-minion


 Windows下安装Salt Minion
目前SaltStack的Master 还无法运行在windows 上,也许永远都不会。但是可以运行Minion。
Minion在Windows下安装:
https://docs.saltstack.com/downloads/ 下载最新相对应的Salt-Minion-*-Setup.exe 直接运行安装即可。同时也可以在cmd窗口,通过命令安装:


Salt-Minion-*-Setup.exe /S /master=master-ip /minion-name=minion-name    


 其他操作系统安装
本文的案例环境是CentOS。可以通过以下网址获取到其它更多操作系统的安装方法:
http://docs.saltstack.com/en/l ... .html 

Salt配置文件

Salt Master配置

Master端的配置是修改/etc/salt下master配置文件。以下是Master端常用的配置。

interface:  指定bind 的地址(默认为0.0.0.0)
publish_port:  指定发布端⼝(默认为4505)
ret_port:  指定结果返回端⼝,  与minion配置⽂件中的master_port对应(默认为4506)
user: 指定master 进程的运⾏⽤户,  如果调整,  则需要调整部分目录的权限(默认为root)
timeout:  指定timeout时间,  如果minion规模庞⼤或⺴络状况不好,建议增⼤该值(默认5s)
keep_jobs:  默认情况下, minion 会执⾏结果会返回master, master会缓存到本地的cachedir ⺫录,  该参数指定缓存多⻓时间,  以供查看之前的执⾏结果,  会占⽤磁盘空间(默认为24h)
job_cache: master 是否缓存执⾏结果,  如果规模庞⼤(超过5000台),  建议使⽤其他⽅式来存储jobs,  关闭本选项(默认为True)
file_recv :  是否允许minion传送⽂件到master 上(默认是Flase)
file_roots: 指定file server⺫录,  默认为:
file_roots:    
   base:    
    - /srv/salt     
pillar_roots :  指定pillar ⺫录,  默认为:
pillar_roots:     
  base:     
    - /srv/pillar     
log_level:  执⾏⽇志级别,  ⽀持的⽇志级别有'garbage', 'trace', 'debug', info', 'warning', 'error', ‘critical ’ ( 默认为’warning’)

Salt Minion配置
Minion端配置非常简单,一般只需要修改两个配置即可。
[root@minion ~]# vim /etc/salt/minion


master: 192.168.56.111 (修改master为master的IP地址)
id: (客户端的id。默认不设置会取客户端的FQDN主机名)


Minion常用配置

master: 指定master 主机(默认为salt)
master_port: 指定认证和执⾏结果发送到master 的哪个端⼝,  与master 配置⽂件中的ret_port 对应(默认
为4506)
id:  指定本minion的标识. salt内部使⽤id 作为标识(默认为主机名)
user: 指定运⾏minion的⽤户.  由于安装包,启动服务等操作需要特权⽤户,  推荐使⽤root( 默认为root)
cache_jobs : minion 是否缓存执⾏结果(默认为False)
backup_mode:  在⽂件操作(file.managed 或file.recurse) 时,  如果⽂件发⽣变更,指定备份⺫标.  当前有效
的值为minion, 备份在cachedir/file_backups⺫录下,  以原始⽂件名称加时间戳来命名(默认为Disabled)
providers :  指定模块对应的providers, 如在RHEL系列中, pkg对应的providers 是yumpkg5
renderer: 指定配置管理系统中的渲染器(默认值为:yaml_jinja )
file_client :  指定file clinet 默认去哪⾥(remote 或local) 寻找⽂件(默认值为remote)
loglevel:  指定⽇志级别(默认为warning)
tcp_keepalive : minion 是否与master 保持keepalive 检查, zeromq3 以下版本存在keepalive bug,会导致某些情况下连接异常后minion⽆法重连master. 建议有条件的话升级到zeromq 3以上版本(默认为True)

SaltStack认证
Salt的数据传输是通过AES加密的,Master和Minion之间在通信之前,需要进行认证。通过认证的方式保证安全性,完成一次认证后,Master就可以自由的控制Minion来完成各项工作了。了解了认证的详细有助于我们在日常管理中管理Minion,已经及时处理问题。
  • 1.minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和minion.pub(public key),然后将minion.pub发送给master。
  • 2.master在第一次启动时,会在/etc/salt/pki/master下自动生成master.pem和master.pub。在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的public key, 客户端会保存一份master的public key,在/etc/salt/pki/minion_master.pub
  • 3.通过两个步骤的验证,master就能对minion发送指令了。


 Master端Key认证
在上面一个小节已经提到了Master与Minion的认证方式,只有Master接受了Minion的Key后,才能进行管理。具体的认证命令为salt-key,常用的有如下命令。


-a ACCEPT, --accept=ACCEPT Accept the following key
-A, --accept-all    Accept all pending keys
-r REJECT, --reject=REJECT Reject the specified public key
-R, --reject-all    Reject all pending keys
-d DELETE, --delete=DELETE Delete the named key
-D, --delete-all    Delete all keys


例:查看需要认证的Minion:
[root@master ~]# salt-key
Accepted Keys:
Unaccepted Keys:
minion.example.com
Rejected Keys:
认证Minion:
[root@master ~]# salt-key --accept=*
The following keys are going to be accepted:
Unaccepted Keys:
minion.example.com
Proceed? [n/Y] Y
Key for minion minion.example.com accepted.

小提示:无论是accept还是delete都支持Linux的Shell通配符。

SaltStack快速入门(1)SaltStack简介

SaltStack赵班长 发表了文章 • 1 个评论 • 4265 次浏览 • 2015-10-27 22:31 • 来自相关话题

     SaltStack是什么,它能干什么呢?我们首先介绍SaltStack的基本知识。然后快速的带领读者使用SaltStack的远程执行和使用SaltStack完成服务器配置管理的功能。让你快速的一睹SaltStack的风采。让我们立即开启敏捷的自动化运维之路!

SaltStack介绍
       
    SaltStack是一个新的基础平台管理工具,只需要花费数分钟即可运行起来,可以支撑管理上万台服务器的规模,数秒钟即可完成数据传递。SaltStack是使用Python语言开发的,同时提供Rest API方便二次开发以及和其它平台进行集成,同时官方也发布了一个Web管理界面halite。

SaltStack常用网址:
官方网站:http://www.saltstack.com官方文档:http://docs.saltstack.comGitHub:https://github.com/saltstack中国SaltStack⽤户组:http://www.saltstack.cn

SaltStack有三种运行方式:
 LocalMaster/MinionSalt SSH
    SaltStack的传统运行模式为Master/Minion(C/S结构),需要在被管理的节点上安装Minion。同时SaltStack也支持SSH的方式,无需安装Agent,通过SSH实现管理。

SaltStack目前拥有三大主要功能:
远程执行配置管理云管理
 
 SaltStack目前在业内的用户案例:
LinkedIn部署了约28,000的SaltStackWikipedia部署了约8,000 SaltStack用于代码更新,Rackspace大约一半的服务使用SaltStackHulu.com也采用了SaltStack。
国内目前各大公司也在研究和使用SaltStack。
  同时,你可以通过搜索引擎获得SaltStack与Puppet、Chef、Ansible等工具的对比,我们不准备列举和讨论这些对比,让我们快速的进入SaltStack的世界,相信你可以自己寻找到自己的答案。 查看全部
     SaltStack是什么,它能干什么呢?我们首先介绍SaltStack的基本知识。然后快速的带领读者使用SaltStack的远程执行和使用SaltStack完成服务器配置管理的功能。让你快速的一睹SaltStack的风采。让我们立即开启敏捷的自动化运维之路!

SaltStack介绍
       
    SaltStack是一个新的基础平台管理工具,只需要花费数分钟即可运行起来,可以支撑管理上万台服务器的规模,数秒钟即可完成数据传递。SaltStack是使用Python语言开发的,同时提供Rest API方便二次开发以及和其它平台进行集成,同时官方也发布了一个Web管理界面halite。

SaltStack常用网址:


SaltStack有三种运行方式:
  •  Local
  • Master/Minion
  • Salt SSH

    SaltStack的传统运行模式为Master/Minion(C/S结构),需要在被管理的节点上安装Minion。同时SaltStack也支持SSH的方式,无需安装Agent,通过SSH实现管理。

SaltStack目前拥有三大主要功能:
  • 远程执行
  • 配置管理
  • 云管理

 
 SaltStack目前在业内的用户案例:
  • LinkedIn部署了约28,000的SaltStack
  • Wikipedia部署了约8,000 SaltStack用于代码更新,
  • Rackspace大约一半的服务使用SaltStack
  • Hulu.com也采用了SaltStack。

国内目前各大公司也在研究和使用SaltStack。
  同时,你可以通过搜索引擎获得SaltStack与Puppet、Chef、Ansible等工具的对比,我们不准备列举和讨论这些对比,让我们快速的进入SaltStack的世界,相信你可以自己寻找到自己的答案。

CentOS 6.6 + Virtualbox + Mac_OSX_Yosemite 构建生产打包环境

系统管理赵班长 发表了文章 • 0 个评论 • 2124 次浏览 • 2015-10-20 17:17 • 来自相关话题

终于搞定了在Centos 6.6上使用Virtualbox安装Mac,用于在服务器上进行ios打包,记录一下。

1.创建虚拟机。System  ->  Chipset:PIIX3

2.执行命令。注意修改mac-node1为你实际的虚拟机名称。

VBoxManage setextradata "mac-node1"  "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3"
VBoxManage setextradata "mac-node1"  "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "mac-node1" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "mac-node1" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "mac-node1" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

3.安装系统。

4.安装xcode

5.启动多个虚拟机,编写PHP进行打包。Nginx做负载均衡,终于解决了ios自动打包的问题。
  查看全部
终于搞定了在Centos 6.6上使用Virtualbox安装Mac,用于在服务器上进行ios打包,记录一下。

1.创建虚拟机。System  ->  Chipset:PIIX3

2.执行命令。注意修改mac-node1为你实际的虚拟机名称。

VBoxManage setextradata "mac-node1"  "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3"
VBoxManage setextradata "mac-node1"  "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "mac-node1" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "mac-node1" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "mac-node1" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

3.安装系统。

4.安装xcode

5.启动多个虚拟机,编写PHP进行打包。Nginx做负载均衡,终于解决了ios自动打包的问题。
 

赵老师,能否介绍下cobbler的kickstart模块的一些常配参数

DevOpsrichie 回复了问题 • 2 人关注 • 2 个回复 • 2908 次浏览 • 2015-10-19 11:45 • 来自相关话题

提问必备-如何有效的提问?

运维杂谈赵班长 发表了文章 • 0 个评论 • 3697 次浏览 • 2015-10-19 11:40 • 来自相关话题

        不要怀疑,即便你工作了很多年,有可能,你依然不会提问,让我们来看看目前的现状是什么?

很多人在群里发牢骚:
    - 群里不活跃,发问题没人回答。
    - 牛人都很牛逼,爱搭不理的。

我想说的是:
没人回答,,有可能是你不会问。牛人也有自己的工作,回答了是分享,不回答也不应该受到责备。

不过,根据我的统计,不会提问的人大有人在。我先列举几个提问的问题。
0.有人在吗? 不解释,我相信你懂的。

1.网站千万PV要怎么调优?   这样的问题,让人如何回答,这个也不是几句话能说明白的吧。不回答原因:问题太泛泛了,没法回答。

2.我的salt-minion无法启动怎么办?  好吧,没有人知道,遇到问题第一时间应该是看日志,没有日志,saltstack作者遇到这样的问题,也不知道怎么回答。不回答原因:有问题,第一时间看日志!

3.已经意识到上面两种问法不对,知道看日志,发了一段日志问怎么办?  日志截图一定要全,最好的是直接发送错误日志到群共享,经常遇到圈红圈的。我想说,你既然不会,就不要帮别人确定应该看的日志范围。 不回答原因:日志不全!之前真有帮忙排查半天,然后发现url输入有问题的,因为截图不截取URL。

4.谁了解xxx吗?群里谁搞过xxx?一般不会有人回答,你是想让群里所有了解的人都回复一个了解吗?这样的问题,有人回答才怪。 有问题就直接发问题。

5.提问没有得到回答,发牢骚的人。 好吧,只能怪群管理员偷懒了,这样的人,应该请出群中。

       做一个会提问的运维者,有效的提问是运维工作能力之一! 查看全部
        不要怀疑,即便你工作了很多年,有可能,你依然不会提问,让我们来看看目前的现状是什么?

很多人在群里发牢骚:
    - 群里不活跃,发问题没人回答。
    - 牛人都很牛逼,爱搭不理的。

我想说的是:
  1. 没人回答,,有可能是你不会问。
  2. 牛人也有自己的工作,回答了是分享,不回答也不应该受到责备。


不过,根据我的统计,不会提问的人大有人在。我先列举几个提问的问题。
0.有人在吗? 不解释,我相信你懂的。

1.网站千万PV要怎么调优?   这样的问题,让人如何回答,这个也不是几句话能说明白的吧。不回答原因:问题太泛泛了,没法回答。

2.我的salt-minion无法启动怎么办?  好吧,没有人知道,遇到问题第一时间应该是看日志,没有日志,saltstack作者遇到这样的问题,也不知道怎么回答。不回答原因:有问题,第一时间看日志!

3.已经意识到上面两种问法不对,知道看日志,发了一段日志问怎么办?  日志截图一定要全,最好的是直接发送错误日志到群共享,经常遇到圈红圈的。我想说,你既然不会,就不要帮别人确定应该看的日志范围。 不回答原因:日志不全!之前真有帮忙排查半天,然后发现url输入有问题的,因为截图不截取URL。

4.谁了解xxx吗?群里谁搞过xxx?一般不会有人回答,你是想让群里所有了解的人都回复一个了解吗?这样的问题,有人回答才怪。 有问题就直接发问题。

5.提问没有得到回答,发牢骚的人。 好吧,只能怪群管理员偷懒了,这样的人,应该请出群中。

       做一个会提问的运维者,有效的提问是运维工作能力之一!

赵班长,上次你公开课讲的job管理平台,能不能讲讲或者开源下?

回复

DevOpserico 发起了问题 • 1 人关注 • 0 个回复 • 1883 次浏览 • 2015-10-18 23:35 • 来自相关话题

请问大家,我物理机和虚拟机互相ping的通,但是物理机不能访问虚拟机是什么原因?

系统管理赵班长 回复了问题 • 2 人关注 • 1 个回复 • 1826 次浏览 • 2015-10-12 17:11 • 来自相关话题

OpenStack如何实现key注入和密码注入?

OpenStack赵班长 发表了文章 • 2 个评论 • 2806 次浏览 • 2015-09-22 10:59 • 来自相关话题

有朋友问,OpenStack是否支持Key注入和在Horizon的Dashboard上面修改密码,nova是支持的,不过默认可能没有打开。操作也比较简单,需要两个步骤。

1.修改nova.conf,修改以下配置:

inject_password=true
inject_key=true
inject_partition=-1
重启nova-api。

2.修改horizon配置文件,local_settings
#启用Web界面上修改密码
OPENSTACK_HYPERVISOR_FEATURES = {
    'can_set_mount_point': True,
    'can_set_password': True,
}

好的,现在就可以创建虚拟机了,并且可以在dashboard上给虚拟机设置密码! 查看全部
有朋友问,OpenStack是否支持Key注入和在Horizon的Dashboard上面修改密码,nova是支持的,不过默认可能没有打开。操作也比较简单,需要两个步骤。

1.修改nova.conf,修改以下配置:

inject_password=true
inject_key=true
inject_partition=-1
重启nova-api。

2.修改horizon配置文件,local_settings
#启用Web界面上修改密码
OPENSTACK_HYPERVISOR_FEATURES = {
    'can_set_mount_point': True,
    'can_set_password': True,
}

好的,现在就可以创建虚拟机了,并且可以在dashboard上给虚拟机设置密码!

Docker Machine、Swarm、Compose、Registry、Kitematic、Toolbox介绍

Docker赵班长 发表了文章 • 0 个评论 • 2881 次浏览 • 2015-08-12 20:11 • 来自相关话题

        Docker Machine为本地机器、私有数据中心以及云服务商提供Docker引擎,并可以配置一个本地的Docker客户端来安全(通过TLS)地与已经部署的引擎交互。Machine对部署平台进行了抽象,用户在对Docker零了解且不熟悉目标环境的情况下,可以通过一个简单的命令部署Docker引擎。Docker Machine解决了操作系统异构安装Docker困难的问题。
 
        Docker Swarm为Docker容器提供了原生的集群,它将几个Docker引擎聚集在一起,然后对外暴露为一个单一的虚拟Docker引擎。Swarm提供了标准的Docker API,因此Docker客户端或者其它的第三方工具可以轻松扩展到多台主机,比如Dokku、Shipyard等。
 
       Docker Compose是一个编排工具,它可以定义并运行基于Docker的分布式应用。Compose基于Fig,Fig是一个已经存在的工具,它可以运行Docker的开发环境,并通过一个简单的文件来定义应用组件,这些组件包括容器、容器配置、连接以及卷。
 
       Docker Registry大家都比较熟悉,是用来构建Docker仓库的服务,目前来说功能不够完善。
 
       Docker Kitematic是GUI客户端。
 
       Docker Toolbox是一个工具箱,可以让用户简单快速的安装和设置Docker环境。它包含以下内容:
 
Docker ClientDocker MachineDocker Compose (Mac only)Docker KitematicVirtualBox 查看全部
        Docker Machine为本地机器、私有数据中心以及云服务商提供Docker引擎,并可以配置一个本地的Docker客户端来安全(通过TLS)地与已经部署的引擎交互。Machine对部署平台进行了抽象,用户在对Docker零了解且不熟悉目标环境的情况下,可以通过一个简单的命令部署Docker引擎。Docker Machine解决了操作系统异构安装Docker困难的问题。
 
        Docker Swarm为Docker容器提供了原生的集群,它将几个Docker引擎聚集在一起,然后对外暴露为一个单一的虚拟Docker引擎。Swarm提供了标准的Docker API,因此Docker客户端或者其它的第三方工具可以轻松扩展到多台主机,比如Dokku、Shipyard等。
 
       Docker Compose是一个编排工具,它可以定义并运行基于Docker的分布式应用。Compose基于Fig,Fig是一个已经存在的工具,它可以运行Docker的开发环境,并通过一个简单的文件来定义应用组件,这些组件包括容器、容器配置、连接以及卷。
 
       Docker Registry大家都比较熟悉,是用来构建Docker仓库的服务,目前来说功能不够完善。
 
       Docker Kitematic是GUI客户端。
 
       Docker Toolbox是一个工具箱,可以让用户简单快速的安装和设置Docker环境。它包含以下内容:
 
  1. Docker Client
  2. Docker Machine
  3. Docker Compose (Mac only)
  4. Docker Kitematic
  5. VirtualBox