配置管理(CM)的目的是经过使开发或部署过程可控和可重复,从而建立更高质量的产品或系统,来确保产品或系统在其整个生命周期中的完整性。CM流程容许对系统信息和系统更改进行有序管理,以实现如下目的:java
如下是资产管理和配置管理之间的一些区别:python
据我说,您应该首先解释资产。它具备财务价值以及附加的折旧率。IT资产只是其中的一个子集。任何有成本的东西,组织将其用于资产价值计算和税收计算中的相关收益,都属于“资产管理”,该项目称为资产。
另外一方面,配置项目可能没有分配财务价值。它不会有任何与之相关的折旧。所以,其寿命将不取决于其财务价值,而是取决于该项目成为组织过期的时间。web
如今,您能够举一个例子来展现二者之间的类似性和区别:
1)类似性:
服务器–它既是资产又是配置项。
2)差别:
建筑–它是资产,而不是CI。
单据–这是配置项,但不是资产面试
基础架构即代码(IAC)是一种IT基础架构,运营团队可使用它来经过代码自动管理和配置,而不是使用手动流程。
要求更快部署的公司将基础设施像软件同样:视为能够用DevOps工具和流程进行管理的代码。这些工具使您能够更轻松,快速,安全和可靠地进行基础架构更改。apache
这取决于组织的需求,所以请在全部这些工具上说起几点:
Puppet是最古老,最成熟的CM工具。Puppet是一个基于Ruby的配置管理工具,可是尽管它具备一些免费功能,但许多使Puppet出色的功能仅在付费版本中可用。不须要不少额外功能的组织会发现Puppet颇有用,可是那些须要更多自定义的组织可能须要升级到付费版本。
Chef是用Ruby编写的,所以能够由了解该语言的人自定义。它还包括免费功能,而且必要时能够将其从开源升级到企业级。最重要的是,它是一种很是灵活的产品。
Ansible是一个很是安全的选项,由于它使用Secure Shell。这是一个易于使用的工具,可是除了配置管理以外,它还提供了许多其余服务。它很是容易学习,所以很是适合那些没有专门的IT员工但仍须要配置管理工具的人。
SaltStack是面向大型企业的基于python的开源CM工具,可是其学习曲线至关低。安全
我建议您首先给Puppet一个小定义。这是一个配置管理工具,用于自动执行管理任务。
如今,您应该描述其架构以及Puppet如何管理其代理。Puppet具备Master-Slave体系结构,其中Slave必须首先向Master发送证书签名请求,Master必须对该证书进行签名,以便在Puppet Master和Puppet Slave之间创建安全链接,以下图所示。Puppet Slave向Puppet Master发送请求,而后Puppet Master在Slave上推送配置。bash
最简单的方法是在puppet.conf中启用自动签名。
务必说起这是安全隐患。若是您仍然想这样作:服务器
对于这个答案,我建议您向您解释过去使用Puppet的经验。您能够参考如下示例:
我使用Puppet自动化了Linux和Windows计算机的配置和部署。除了将处理时间从一周减小到10分钟以外,我还使用了角色和配置文件模式,并在README中记录了每一个模块的用途,以确保其余人可使用Git更新该模块。我编写的模块仍在使用,可是个人队友和社区成员对它们进行了改进网络
在这里,您须要说起这些工具以及如何使用这些工具使Puppet更增强大。如下是一个供您参考的示例:
更改和请求经过Jira进行票证,咱们经过内部流程管理请求。而后,咱们使用Git和Puppet的代码管理器应用程序根据最佳实践来管理Puppet代码。此外,咱们使用烧杯测试框架经过Jenkins的持续集成管道来运行全部Puppet更改。架构
这是一个很是重要的问题,所以请确保流程正确。据我说,您应该首先定义清单。每一个节点(或Puppet代理)在Puppet Master中都有其配置详细信息,以本机Puppet语言编写。这些详细信息以Puppet能够理解的语言编写,被称为清单。它们由Puppet代码组成,其文件名使用.pp扩展名。
如今举一个例子。您能够在Puppet Master中编写清单,以建立文件并在链接到Puppet Master的全部Puppet代理(从站)上安装apache。
对于此答案,您可使用如下提到的解释:
人偶模块是清单和数据(例如事实,文件和模板)的集合,它们具备特定的目录结构。模块对于组织Puppet代码颇有用,由于它们使您能够将代码拆分为多个清单。使用模块组织几乎全部的人偶清单被认为是最佳实践。
人偶程序称为清单,由人偶代码组成,其文件名使用.pp扩展名。
您应该回答Facter在Puppet中的确切功能,因此据我说,“ Facter收集有关Puppet Agent的基本信息(事实),例如硬件详细信息,网络设置,操做系统类型和版本,IP地址,MAC地址, SSH密钥等。这些事实而后在Puppet Master的清单中做为变量提供。”
经过定义Chef开始此答案。它是一个强大的自动化平台,可将基础结构转换为代码。Chef是一种工具,您能够为其编写用于自动化过程的脚本。什么过程?与IT相关的几乎全部内容。
如今,您能够解释Chef的体系结构,它包括:
个人建议是首先定义资源。资源表明基础架构及其所需的状态,例如应安装的软件包,应运行的服务或应生成的文件。
您应该解释有关Resource的功能,包括如下几点:
对于此答案,我建议您使用上述流程:首先定义配方。资源是资源的集合,描述了特定的配置或策略。资源描述了配置系统部分所需的一切。
定义以后,经过包括如下几点来讲明资源的功能:
答案很直接。您能够简单地说:“资源是资源的集合,主要配置软件包或某些基础结构。“资源”将资源和其余信息组合在一块儿,比仅包含资源更易于管理。”
个人建议是首先给出一个直接的答案:当您不指定资源的操做时,Chef将应用默认操做。
如今用一个例子来讲明这一点,下面的资源:
file ‘C:UsersAdministratorchef-reposettings.ini’ do content ‘greeting=hello world’ end
是相同如下资源:
file ‘C:UsersAdministratorchef-reposettings.ini’ do action :create content ‘greeting=hello world’ end
是由于:建立的文件资源的默认操做。
在Ansible中,模块被视为工做单元。每一个模块大部分都是独立的,能够用标准脚本语言编写,例如Python,Perl,Ruby,bash等。模块的指导属性之一是幂等,这意味着即便屡次重复操做,例如从中断中恢复,它将始终将系统置于相同状态。
剧本是Ansible的配置,部署和编排语言。它们能够描述您但愿远程系统执行的策略,或通常IT流程中的一组步骤。剧本被设计为人类可读的而且以基本文本语言开发。
从根本上讲,剧本可用于管理远程计算机的配置和部署。
默认状况下,Ansible收集有关所管理机器的“事实”,而且能够在Playbook和模板中访问这些事实。要查看有关计算机的全部可用事实的列表,能够做为临时操做运行“ setup”模块:
**Ansible -m setup主机名
**这将打印出全部可用的事实的字典。该特定主机。
WebLogic Server 8.1容许您选择应用程序的加载顺序。请参阅“应用程序”中的“应用程序MBean加载顺序”属性。WebLogic Server在部署应用程序以前先部署服务器级资源(首先是JDBC,而后是JMS)。应用程序的部署顺序以下:链接器,而后是EJB,而后是Web应用程序。若是应用程序是EAR,则按照在application.xml部署描述符中声明它们的顺序加载各个组件。
是的,您可使用如下语法使用weblogic.Deployer来指定组件并以服务器为目标:
java weblogic.Deployer -adminurl http:// admin:7001 -name appname -targets server1,server2 -deploy jsps / *。jsp
自动部署功能每三秒钟检查一次应用程序文件夹,以肯定是否有任何新应用程序或对现有应用程序的任何更改,而后动态部署这些更改。
为在开发模式下运行的服务器启用了自动部署功能。要禁用自动部署功能,请使用如下方法之一将服务器置于生产模式:
若是要本身暂存应用程序,请使用weblogic.Deployer设置-external_stage,而且但愿经过本身的方式将其复制到其目标。