首页 文章 精选 留言 我的

精选列表

搜索[部署],共10000篇文章
优秀的个人博客,低调大师

MCollective架构篇3-Puppet插件的部署及测试

零基础学习Puppet自动化配置管理系列文档 1 puppet插件的安装及测试 MCollective可以使用多种方式进行扩展。最普遍的一种扩展MCollective的方式就是重用已经写好的agent插件。这些小的Ruby库可以让MCollective在整个集群中执行自定义的命令。 一个agent插件通常包含一个Ruby库,它必须被分发到所有运行MCollective agent的节点上。另外,一个数据定义文件(DDL)提供了插件接受的传入参数的具体描述,整个DDL文件需要放在MCollective客户端系统 上。最后,一个使用指定的agent插件运行MCollective的脚步也需要被安装到所有的MCollective客户端系统上。 备注:更多插件可以在https://github.com/puppetlabs/mcollective-plugins找到。 1.1 安装puppet agent插件 MCollective本身并不包含一个可以立即使用的Puppet agent插件,需要安装使用。这一插件可以让操作员在需要时运行Puppet agent。他不需要等待Puppet agent的默认运行间隔,也不需要使用其他工具来开始这些任务 1.1.1 安装MCollective的Agent插件 [root@agent1rpms]#yuminstallmcollective-puppet-agentmcollective-puppet-common [root@agent1rpms]#ll/usr/libexec/mcollective/mcollective/agent/ total36 -rw-r--r--1rootroot1033May2101:34discovery.rb -rw-r--r--1rootroot8346May1407:28puppet.ddl -rw-r--r--1rootroot7975May1407:25puppet.rb -rw-r--r--1rootroot5999May2101:34rpcutil.ddl -rw-r--r--1rootroot3120May2101:34rpcutil.rb [root@puppetserverrpms]#yuminstallmcollective-puppet-clientmcollective-puppet-common [root@puppetserverrpms]#ll/usr/libexec/mcollective/mcollective/agent/ total28 -rw-r--r--1rootroot1033May2101:34discovery.rb -rw-r--r--1rootroot8346May1407:28puppet.ddl -rw-r--r--1rootroot5999May2101:34rpcutil.ddl -rw-r--r--1rootroot3120May2101:34rpcutil.rb 1.1.2 载入Agent插件 [root@puppetserverrpms]#mco#客户端默认在自动载入 TheMarionetteCollectiveversion2.2.4 usage:/usr/bin/mcocommand<options> Knowncommands: completionfactsfind helpinventoryping pluginpuppetrpc Type'/usr/bin/mcohelp'foradetailedlistofcommandsand'/usr/bin/mcohelpcommand' togetdetailedhelpforacommand [root@agent1~]#/etc/rc.d/init.d/mcollectiverestart Shuttingdownmcollective:[OK] Startingmcollective:[OK] 1.1.3 验证Agent插件是否被载入 [root@puppetserverrpms]#mcoinventoryagent1.kisspuppet.com#查看节点agent1是否已经载入puppet插件 Inventoryforagent1.kisspuppet.com: ServerStatistics: Version:2.2.4 StartTime:ThuOct0316:09:03+08002013 ConfigFile:/etc/mcollective/server.cfg Collectives:mcollective MainCollective:mcollective ProcessID:8902 TotalMessages:3 MessagesPassedFilters:3 MessagesFiltered:0 ExpiredMessages:0 RepliesSent:2 TotalProcessorTime:0.46seconds SystemTime:0.12seconds Agents: discoverypuppetrpcutil DataPlugins: agentfstatpuppet#已经载入puppet插件 resource ConfigurationManagementClasses: Noclassesapplied Facts: mcollective=>1 1.1.4 从MCollective中运行Puppet 在运行命令之前,可以在节点查看puppet日志和puppetd服务的启停来判断命令是否调用了puppetd进程。 [root@puppetserver~]#mcopuppet--noop--verbosestatus#查看节点agent守护进程状态 Discoveringhostsusingthemcmethodfor2second(s)....2 *[============================================================>]2/2 agent2.kisspuppet.com:Currentlystopped;lastcompletedrun9hours35minutes36secondsago agent1.kisspuppet.com:Currentlystopped;lastcompletedrun9hours35minutes34secondsago SummaryofApplying: false=2 SummaryofDaemonRunning: stopped=2 SummaryofEnabled: enabled=2 [root@puppetserverrpms]#mcopuppet-vrunonce Discoveringhostsusingthemcmethodfor2second(s)....2 *[============================================================>]2/2 agent1.kisspuppet.com:OK {:summary=>"StartedabackgroundPuppetrunusingthe'puppetagent--onetime--daemonize--color=false--splay--splaylimit30'command"} agent2.kisspuppet.com:OK {:summary=>"StartedabackgroundPuppetrunusingthe'puppetagent--onetime--daemonize--color=false--splay--splaylimit30'command"} ----rpcstats---- Nodes:2/2 Pass/Fail:2/0 StartTime:ThuOct0316:12:03+08002013 DiscoveryTime:2007.23ms AgentTime:3591.72ms TotalTime:5598.94ms 备注:当使用MCollective运行Puppet时,要求在所有被管理的节点上Puppet agent守护进程都需要被关闭。在每次使用mco puppet -v runonce命令调用puppetd agent时,MCollective都会产生一个新的Puppet进程。这个进程会和任何已经运行的Puppet agent守护进程产生功能性的重复。 当Puppet使用--runonce参数运行时,agent会在后台运行。所以虽然MCollective成功运行了Puppet,但实际上的Puppet agent运行可能http://kisspuppet.com/2013/11/10/my-fact/并不成功。需要查看Puppet报告来确定每一个Puppetagent运行的结果。MCollective返回的OK值表示MCollective服务器成功地启动了puppetd进程并且没有得到任何输出。 1.2 安装facter插件(测试多次发现存在不稳定性) 注意:通过facter插件获取节点facter变量信息不是很稳定,因此可将节点facts信息通过inline_template写入/etc /mcollective/facts.yaml中,并在/etc/mcollective/server.cfg中设置factsource = yaml,这样MCollective客户端只需要每次读取这个文件中的facter变量即可。而且在本地目录/var/lib/puppet/yaml /facts/也会生成一份节点的facter信息,模块部分信息如下: classmcollective::facter{ file{"/etc/mcollective/facts.yaml": owner=>root, group=>root, mode=>0440, loglevel=>debug,#reducenoiseinPuppetreports content=>inline_template('<%=scope.to_hash.reject{|k,v|k.to_s=~/(uptime.*|path|timestamp|free|.*password.*|.*psk.*|.*key)/}.to_yaml%>'), } } [root@agent1~]#yuminstallmcollective-facter-facts [root@agent1rpms]#ll/usr/libexec/mcollective/mcollective/facts/ total12 -rw-r--r--1rootroot422Feb212013facter_facts.ddl -rw-r--r--1rootroot945Feb212013facter_facts.rb -rw-r--r--1rootroot1530May2101:34yaml_facts.rb [root@agent1~]#vim/etc/mcollective/server.cfg … #Facts #factsource=yaml#注释掉 factsource=facter plugin.yaml=/etc/mcollective/facts.yaml [root@agent1rpms]#/etc/rc.d/init.d/mcollectiverestart Shuttingdownmcollective:[OK] Startingmcollective:[OK] [root@puppetserverrpms]#mcoinventoryagent1.kisspuppet.com#查看节点agent1是否加载了facts插件 Inventoryforagent1.kisspuppet.com: ServerStatistics: Version:2.2.4 StartTime:ThuOct0316:31:47+08002013 ConfigFile:/etc/mcollective/server.cfg Collectives:mcollective MainCollective:mcollective ProcessID:9485 TotalMessages:37 MessagesPassedFilters:33 MessagesFiltered:4 ExpiredMessages:0 RepliesSent:32 TotalProcessorTime:0.74seconds SystemTime:0.21seconds Agents: discoverypuppetrpcutil DataPlugins: agentfstatpuppet resource ConfigurationManagementClasses: Noclassesapplied Facts:#可以看到获取的节点facter信息(获取信息需要一些等待时间) architecture=>x86_64 augeasversion=>0.10.0 bios_release_date=>07/02/2012 bios_vendor=>PhoenixTechnologiesLTD bios_version=>6.00 blockdevice_fd0_size=>4096 … uptime_days=>0 uptime_hours=>20 uptime_seconds=>74506 uuid=>564DFBAB-CADC-FC69-36CA-955BFDB30F43 virtual=>vmware [root@puppetserverrpms]#mcofactslsbdistdescription-v#使用mcofacts命令对操作系统类型进行显示 Discoveringhostsusingthemcmethodfor2second(s)....2 Reportforfact:lsbdistdescription RedHatEnterpriseLinuxServerrelease5.7(Tikanga)found1times agent2.kisspuppet.com RedHatEnterpriseLinuxServerrelease5.8(Tikanga)found1times agent1.kisspuppet.com ----rpcstats---- Nodes:2/2 Pass/Fail:2/0 StartTime:ThuOct0316:59:04+08002013 DiscoveryTime:2004.83ms AgentTime:67.32ms TotalTime:2072.15ms [root@puppetserverrpms]#mcofactslsbdistdescription#使用mcofacts命令对操作系统类型进行统计 Reportforfact:lsbdistdescription RedHatEnterpriseLinuxServerrelease5.7(Tikanga)found1times RedHatEnterpriseLinuxServerrelease5.8(Tikanga)found1times Finishedprocessing2/2hostsin79.15ms [root@puppetserverrpms]#mcofacts-v--with-facthostname='agent1'memoryfree#查看主机agent1的剩余内存 Discoveringhostsusingthemcmethodfor2second(s)....1 Reportforfact:memoryfree 795.13MBfound1times agent1.kisspuppet.com ----rpcstats---- Nodes:1/1 Pass/Fail:1/0 StartTime:ThuOct0317:02:13+08002013 DiscoveryTime:2005.65ms AgentTime:49.37ms TotalTime:2055.03ms 1.3 使用元数据定位主机 1.3.1 使用默认facter元数据定位主机 1.3.1.1 触发所有系统为RedHat,版本为5.7的所有节点puppetd守护进程 [root@puppetserverrpms]#mcopuppet-vrunoncerpc--np-Foperatingsystemrelease='5.7'-Foperatingsystem='RedHat' Discoveringhostsusingthemcmethodfor2second(s)....1 agent2.kisspuppet.com:OK {:summary=>"StartedabackgroundPuppetrunusingthe'puppetagent--onetime--daemonize--color=false--splay--splaylimit30'command"} ----rpcstats---- Nodes:1/1 Pass/Fail:1/0 StartTime:ThuOct0317:03:56+08002013 DiscoveryTime:2008.09ms AgentTime:1187.69ms TotalTime:3195.78ms 1.3.1.2 触发所有系统为RedHat,kernel版本为2.6.18的所有节点puppetd守护进程 [root@puppetserverrpms]#mcopuppet-vrunoncerpc--np-Fkernelversion='2.6.18'-Foperatingsystem='RedHat' Discoveringhostsusingthemcmethodfor2second(s)....2 agent2.kisspuppet.com:OK {:summary=>"StartedabackgroundPuppetrunusingthe'puppetagent--onetime--daemonize--color=false--splay--splaylimit30'command"} agent1.kisspuppet.com:OK {:summary=>"StartedabackgroundPuppetrunusingthe'puppetagent--onetime--daemonize--color=false--splay--splaylimit30'command"} ----rpcstats---- Nodes:2/2 Pass/Fail:2/0 StartTime:ThuOct0317:06:15+08002013 DiscoveryTime:2004.32ms AgentTime:1308.34ms TotalTime:3312.66ms 1.3.2 使用自定义facter元数据定位主机 备注:使用自定义facter元数据可以更加灵活的定位主机,如何定义fact可参考博文《通过自定义fact增强MCollective推送更新元数据的灵活性》 1.3.2.1 在agent1上定义facter my_apply1和my_apply2 [root@agent1mcollective]#facter-p|grepmy_apply my_apply1=>apache my_apply2=>mysql 1.3.2.2 在agent2上定义facter my_apply2和my_apply3 [root@agent2mcollective]#facter-p|grepmy_apply my_apply2=>mysql my_apply3=>php 1.3.2.3 在MCollective客户端测试节点自定义facter是否正确 [root@puppetserverfacter]#mcoinventoryagent1.kisspuppet.com|grepmy_apply my_apply1=>apache my_apply2=>mysql [root@puppetserverfacter]#mcoinventoryagent2.kisspuppet.com|grepmy_apply my_apply2=>mysql my_apply3=>php 1.3.2.4 通过自定义facter定位主机触发更新 [root@puppetserverfacter]#mcopuppet-vrunoncemcofacts-v--with-factmy_apply3='php'#筛选节点facter变量my_apply3=php的主机进行触发puppetd守护进程 Discoveringhostsusingthemcmethodfor2second(s)....1 *[============================================================>]1/1 agent2.kisspuppet.com:OK {:summary=>"StartedabackgroundPuppetrunusingthe'puppetagent--onetime--daemonize--color=false--splay--splaylimit30'command"} ----rpcstats---- Nodes:1/1 Pass/Fail:1/0 StartTime:ThuOct0323:33:54+08002013 DiscoveryTime:2005.35ms AgentTime:1078.86ms TotalTime:3084.21ms 本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1566374,如需转载请自行联系原作者

优秀的个人博客,低调大师

Office 365 身份验证和单一登录部署(1)

环境描述: 1 .Windows Server 2012 R2 Server (Windows Azure VM) 角色:域控制器,目录同步,ADFS服务 网段:192.168.0.10 2. Windows Server 2012 R2 Server (Windows Azure VM) 角色:WAP (ADFS Proxy) 网段:192.168.1.10 3. Lab Domain: hphaobo.com (已在公网注册) 4. Account: hphaobo\exadmin 5. 公网证书名称:fxproxy.hphaobo.com 环境架构: 本文转自ljb_job 51CTO博客,原文链接:http://blog.51cto.com/liujb/1789195,如需转载请自行联系原作者

优秀的个人博客,低调大师

Windows7部署Android开发环境实战图

本页内容介绍如何在Windows 7系统上安装Android SDK以及如何设置你的开发环境。然后阅读后续文档学习如何安装,配置,并使用该SDK来创建Android应用程序。 准备文件: WIN7 的安装方法与 XP 的安装方式完全相同。 1、安装JDK 运行 jdk-6u14-windows-i586.exe 检查JDK是否安装成功。打开cmd窗口,输入 java –version 查看JDK的版本信息。 2、安装 Eclipse 直接解压缩 Eclipse3.4.1.zip 到指定目录 如:F:\Android\eclipse 运行eclipse.exe,设置Workspace,指定一个开发目录给它就可以了 看到如下界面,Eclipse 安装完毕 3、安装 android-sdk-windows-1.5_r3.zip Android SDK 同 Eclipse 一样,直接解压缩就可以,我把解压缩到文件夹 F:\Android 中 将Android SDK中的tools绝对路径添加到系统PATH中。 打开“系统属性”选择“环境变量” 添加环境变量PATH 值为SDK中tools的绝对路径,如下图 “确定”后,重新启动计算机。 重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。 运行 android –h 如果有以下输出,表明安装成功。 4、安装 Android Development Tools (ADT) 打开 Eclipse IDE 进入菜单中的 "Help" -> "Software Updates" 进入选项卡 "Available Software" -> "Add Site" –> "Location:"输入 http://dl-ssl.google.com/android/eclipse 勾选 "Android DDMS" 和 "Android Development Tools" ,"Install" 如下图所示: 一路Next,注意Accept许可,直到完成。 "Yes"重启"Eclipse",完成安装。 5、设定"SDK Location" 打开 Eclipse IDE 进入菜单中的 "Window" -> "Preferences" 打开"Preferences"窗口,选中"Android" 不要管弹出的错误窗口,直接设定"SDK Location"为SDK的安装目录。 "OK"后,再次打开这个窗口,你可以看到SDK列表 6、验证开发环境,并创建HelloWorld测试程序 进入 Eclipse IDE 菜单中的 "File" -> "New" -> "Project" 选择 "Android Project" 下一步 参考下图完成基本信息的填写,(注意最后一栏,如果选Android1.5, "Min SDK Version" 一定是3) 完成创建后,关闭Eclipse的Welcome窗口。 刚刚创建的项目 接下来创建 Android 虚拟设备 AVD 打开cmd控制台,执行 android list target 查看可用的平台 根据 android create avd –name –target格式创建AVD。 这样就完成了自定义的 Android Virtual Device 最后,配置 "Eclipse" 的 "Run Configuration" 进入菜单中的 "Run" -> "Run Configurations" 双击"Android Application"创建一个新的配置文件,设置Name项 指定右侧"Android"选项卡中"Project"项目 在右侧"Target"选项卡中勾选自己创建的"AVD","Apply"后,"Run" 选则启动方式"Android Appliaction" 正常情况下应该是可以看到模拟器界面的 但是我这边出了点错误, [2010-04-01 02:16:07 - HelloWorld] Automatic Target Mode: Preferred AVD 'sdk_1_5' is not available. Launching new emulator. [2010-04-01 02:16:07 - HelloWorld] Launching a new emulator with Virtual Device 'sdk_1_5' [2010-04-01 02:16:07 - Emulator] emulator: ERROR: unknown virtual device name: 'sdk_1_5' [2010-04-01 02:16:07 - Emulator] emulator: could not find virtual device named 'sdk_1_5' 原因是我移动过系统的MyDocument文件夹,去MyDocument所在文件夹的根目录找到 ".android" 文件夹,复制到 "C:\Users\[当前用户名]" 目录中 Ctrl+F11,成功进入模拟器。 如果还有别的问题,尝试 "Project" -> "Clean" 当前项目,重新生成试试 本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/799670,如需转载请自行联系原作者

优秀的个人博客,低调大师

Openstack的环境的Mitaka部署dashboard 云主机 镜像(2)

九.Dashboard配置 1.编辑文件/etc/openstack-dashboard/local_settings 2.重启web服务器以及会话存储服务 浏览器访问dashboard 进入设置成中文重新登陆 3.开启mi.nano云主机 4.创建网络 5.创建镜像 十.Networking 服务neutron私有网络 1.安装服务 2.编辑``/etc/neutron/neutron.conf [database] connection=mysql+pymysql://neutron:neutron@172.25.29.11/neutron [DEFAULT] rpc_backend=rabbit [oslo_messaging_rabbit] rabbit_host=172.25.29.11 rabbit_userid=openstack rabbit_password=openstack [DEFAULT] auth_strategy=keystone [keystone_authtoken] auth_uri=http://172.25.29.11:5000 auth_url=http://172.25.29.11:35357 memcached_servers=172.25.29.11:11211 auth_type=passwordproject_domain_name=default user_domain_name=defaultproject_name=service username=neutron password=neutron [DEFAULT] notify_nova_on_port_status_changes=True notify_nova_on_port_data_changes=True [nova]...auth_url=http://172.25.29.11:35357 auth_type=password project_domain_name=default user_domain_name=default region_name=RegionOne project_name=service username=nova password=nova 3.编辑``/etc/neutron/plugins/ml2/ml2_conf.ini`` 3.编辑``/etc/neutron/plugins/ml2/ml2_conf.ini [securitygroup] enable_ipset=True 4.编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini`` [linux_bridge] physical_interface_mappings=provider:eth0 [securitygroup] enable_security_group=True firewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver 5.编辑``/etc/neutron/l3_agent.ini`` 6.配置DHCP代理编辑``/etc/neutron/dhcp_agent.ini`` [DEFAULT] interface_driver=neutron.agent.linux.interface.BridgeInterfaceDriverd hcp_driver=neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata=True 7.修改dashboard网络设置3层开启 8.创建实例 9.创建网络,使内网云主机上网 十一.块存储服务cinder 1.创建cinder数据库,之前已经创建完毕 2.安装服务 3.编辑/etc/cinder/cinder.conf 4.初始化块设备服务的数据库 5.编辑文件/etc/nova/nova.conf 6.创建服务证书,完成这些步骤: 创建一个cinder用户 admin-openrc 7.创建cinder和cinderv2服务实体 8.创建块设备存储服务的 API 入口点 9.在server2计算节点上安装块存储 新加一块硬盘 安装 LVM 包启动服务 fdisk -l 创建LVM 物理卷,创建 LVM 卷组 编辑``/etc/lvm/lvm.conf``文件并完成下面的操作: 在``devices``部分,添加一个过滤器,只接受``/dev/sdb``设备,拒绝其他所有设备 安装软件包 编辑/etc/cinder/cinder.conf 启动服务 10.web界面上创建云盘 十二.镜像制作 1. 创建一个 kickstart 文件,用以自动化安装配置 image,使用 system-config-kickstart 工具生成 以下是我的 ks.cfg 文件内容 2. 使用上面建立的 ks.cfg 文件建立镜像 3. 等镜像安装完成后,进行压缩 4.上传制作好的镜像 本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1979767,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册