2019 개발 운영 필수 면접 질문 - 구성 관리 기사

원본 주소 : https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3
원래 저자 : Saurabh Kulshrestha는
6월 번역 : CODING戴维奥普斯

이제 구성 관리에 대한 지식을 살펴 보자.

Q1, 대상의 구성 관리 프로세스는 무엇인가?

목적 구성 관리 (CM)을 따라서 더 높은 품질의 제품이나 시스템을 구축, 수명주기 전반에 걸쳐 제품이나 시스템의 무결성을 보장하기 위해 제어하고 반복 가능한 프로세스의 개발 또는 배포하는 것입니다. CM 프로세스하기 위해 정보 시스템 및 시스템 변경의 질서 관리 할 수 ​​있습니다 :

  • 조정 능력
  • 성능 향상
  • 신뢰성, 유지 보수성을 향상
  • 의 수명을 연장
  • 비용 절감
  • 위험을 감소
  • 즉시 결함을 수정하기

Q2, IT 자산 관리 및 구성 관리의 차이점은 무엇입니까? IT 자산 및 구성의 차이점은 무엇입니까?

다음은 자산 관리와 구성 관리 사이에 약간의 차이가 있습니다 :

그림

다음 설명 자산. 그것은 금융 값과 추가 감가 상각률이있다. IT 자산 있지만 일부입니다. 모든 조직은 비용이 자산 관리, 자산이라는 등의 프로젝트에 의한 자산 및 관련 소득세 계산의 값을 계산하는 데 사용됩니다있다.

반면에, 구성 항목 또는 할당 된 금융 값이있을 수도 있고 없을 수도 있습니다, 어떤 관련 감가 상각을하지 않을 것이다, 그래서 금융 값에 의존하지 않는 삶, 그러나 프로젝트의 구성에 따라 달라집니다 오래된 시간.

이제, 우리는 둘 사이의 차이점과 유사점을 설명 할 수 있습니다 :
1) 유사성 :
서버 - 그것은 자산 및 CI 모두이다.
2) 차이 :
건물 -이 자산이지만, 구성 항목 없습니다.
문서 -하지만 자산 구성 항목 아니다

Q3는 "코드 등의 인프라"에 대한 당신의 견해는 무엇입니까? 어떻게 개발 운영 방법에 적용됩니까? 그 목적은 무엇인가?

코드 (IAC)와 같은 인프라는 IT 인프라, 운영 및 유지 보수 팀은 자동이 아니라 수동 프로세스를 통해보다, 관리하고 코드를 구성하는 데 사용할 수 있습니다.

이 회사는 또한 빠른 인프라 소프트웨어로 처리 배포합니다 : 당신은 개발 운영 도구 및 프로세스 관리 코드를 사용할 수 있습니다. 이러한 도구로, 당신은 할 수보다 빠르고, 안전하고 신뢰할 수있는 인프라 변경.

당신이 생각하는 하나 Q4, 인형, 요리사, SaltStack 및 Ansible 최고의 구성 관리 (CM) 도구입니다? 이유는 무엇입니까?

: 그것은이 모든 도구에 다음과 같은 점을 언급 할 필요가 있으므로 R & D 조직의 필요에 따라, 그리고
인형은 가장 오래되고 가장 성숙한 CM 도구입니다. 그것은 몇 가지 무료 기능을 가지고 있지만, 인형 훌륭한 콘텐츠의 대부분은 유료 버전에서만 사용할 수 있지만, 꼭두각시, 루비 기반의 구성 관리 도구입니다. 추가 기능이 유용 꼭두각시, 그러나 그 조직이 유료 버전으로 업그레이드해야 더 많은 사용자 정의를 필요 찾을 조직의 다수를 필요로하지 않습니다.

요리사가 루비로 작성, 그것은 언어에 익숙한 사람에 의해 사용자 정의 할 수 있습니다. 또한 무료 기능이 필요한 경우, 또한 기업 수준의 오픈 소스 버전에서 업그레이드 할 수 있습니다 포함되어 있습니다. 가장 중요한 것은, 그것은 매우 유연한 제품입니다.

이 보안 셸을 사용하기 때문에 Ansible는 매우 안전한 옵션입니다. 그것은 간단한 도구이지만, 구성 관리 외에, 그것은 또한 다른 많은 서비스를 제공합니다. 그 이외의 전임 IT 직원에 이상적 배울 매우 쉽습니다,하지만 여전히 구성 관리 도구가 필요합니다.

SaltStack 대기업을위한 파이썬 기반의 오픈 소스 CM 도구이지만, 학습 곡선이 매우 낮습니다.

Q5, 퍼핏은 무엇인가?

관리 작업을 자동화하는 구성 관리 도구입니다. 슬레이브가 마스터에 인증서 서명 요청을 보내야합니다 퍼핏 마스터 - 슬레이브 아키텍처,가, 마스터는 다음과 같이 퍼핏 마스터와 인형 슬레이브 간의 보안 연결을 설정하기 위해 인증서에 서명해야합니다. 꼭두각시 인형 마스터 슬레이브에 요청을 전송하고, 마스터 슬레이브 꼭두각시 밀어 배치. 그림 지침은 위의 설명을 참조하십시오.

그림

클라이언트가 인형 마스터를 사용하여 인증되기 전에 Q6는, 당신은 서명과 인증서를받을 필요가있다. 당신은 어떻게이 작업을 자동화 할 것인가?

最简单的方法是在 puppet.conf 中启用自动签名。请注意这是一个安全风险。如果您仍想这样做:

  • 为您的 puppet master 建立防火墙 - 将端口 tcp / 8140 限制为您信任的网络。
  • 为每个“信任区域”创建 puppet master,并且只在该 puppet master 清单中包含可信节点。
  • 切勿使用完整的通配符,例如 * 。

Q7、描述通过 Puppet 自动化流程所取得的最重要的收益

对于这个答案,我建议您解释一下您过去使用 Puppet 的经历。可以参考以下示例:
我使用 Puppet 自动配置和部署 Linux 和 Windows 机器。除了将处理时间从一周缩短到 10 分钟之外,我还使用了角色和配置文件模式,并在 README 中记录了每个模块的用途,以确保其他人可以使用 Git 更新模块。我写的模块仍然在使用,但是我的团队成员和社区成员对它们进行了改进。

Q8、您使用哪些开源或社区工具来使 Puppet 更强大?

在这里,您需要提及工具以及如何使用这些工具使 Puppet 更强大。以下是一个供您参考的示例:
我们通过项目管理工具进行更改请求,通过内部流程管理请求,然后我们使用 Git 和 Puppet 的 Code Manager 应用程序来管理 Puppet 代码。此外,我们使用测试框架通过 Jenkins 中的持续集成流水线运行所有 Puppet 更改。

Q9、什么是 Puppet 清单?

首先定义清单。每个节点(或 Puppet Agent)都在 Puppet Master 中获得了用 Puppet 语言编写的配置细节。这些细节用 Puppet 可以理解的语言编写,称为 Manifest。它们由 Puppet 代码组成,其文件名使用 .pp 扩展名。

现在举个例子:您可以在 Puppet Master 中编写一个清单,用于创建文件并在连接到 Puppet Master 的所有 Puppet Agent(Slaves)上安装 apache。

Q10、什么是 Puppet 模块以及它与 Puppet Manifest 的不同之处?

Puppet 模块是清单和数据(例如事实,文件和模板)的集合,它们具有特定的目录结构。模块对于组织 Puppet 代码很有用,因为它们允许您将代码拆分为多个清单。使用模块来组织几乎所有的 Puppet 清单是最佳实践。

Puppet 程序称为 Manifest,它由 Puppet 代码组成,其文件名使用 .pp 扩展名。

Q11、什么是 Puppet 的 Facter?

您应该回答 Facter 在 Puppet 中做了什么:“Facter 收集有关 Puppet Agent 的基本信息(事实),如硬件细节,网络设置,操作系统类型和版本,IP 地址,MAC 地址,SSH 密钥等等。这些 facts 随后会在 Puppet Master 的清单中作为变量提供。”

Q12、什么是 Chef?

它是一个强大的自动化平台,可将基础架构转换为代码。Chef 是一个工具,您可以编写用于自动化流程的脚本,流程涵盖几乎与 IT 相关的任何事情。

Chef 的架构包括:

  • Chef Server:Chef Server 是基础架构配置数据的中央存储。Chef Server 存储配置节点所需的数据并提供搜索功能,并允许您根据数据动态驱动节点配置。
  • Chef Node:Node 是使用 Chef-client 配置的任何主机。Chef-client 在您的节点上运行,与 Chef Server 联系以获取配置节点所需的信息。由于 Node 是运行 Chef-client 软件的机器,因此节点有时被称为“客户端”。
  • Chef Workstation:Chef Workstation 是您用来修改 cookbook 和其他配置数据的主机。

그림

Q13、Chef 的资源是什么?

资源代表一个基础架构及其所需的状态,例如应安装的软件包,应运行的服务或应生成的文件。
资源的功能包括以下几点:

  • 描述配置项的所需状态。
  • 声明将该项目置于所需状态所需的步骤。
  • 指定资源类型,例如包,模板或服务。
  • 根据需要列出其他详细信息(也称为资源属性)。
  • 被分类为配方(recipes),来描述工作配置。

Q14、Chef 的 Recipe 是什么?

Recipes 描述了特定配置或策略的资源集合,描述了配置系统部分所需的一切。
Recipes 的功能:

  • 安装和配置软件组件。
  • 管理文件。
  • 部署应用程序。
  • 执行其他 recipe。

Q15、Cookbook 与 Recipe 有何不同?

可以简单地说,“Recipe 是一组资源,主要配置软件包或某些基础架构。Cookbook 将 recipe 和其他信息整合在一起,比单独使用 recipe 更易于管理。”
译者注:cookbook 类似于食谱集;recipe 类似于食谱。

Q16、如果未在 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

因为:创建是文件资源的默认操作。

Q17、什么是 Ansible 模块?

模块被认为是 Ansible 的工作单元。每个模块大多是独立的,可以用标准的脚本语言编写,如 Python、Perl、Ruby、bash 等。模块的一个重要属性是幂等性,这意味着即使一个操作重复多次(例如从停电中恢复),它会始终将系统置于同一状态。

Q18, 플레이 북의 Ansible 무엇인가?

플레이 북은 Ansible 구성, 배포 및 오케스트레이션 언어입니다. 그들은 당신이 정책을 구현하고자하는, 또는 일반 IT 프로세스는 일련의 단계에 설명되어있는 원격 시스템을 설명 할 수 있습니다. 인간이 읽을 수있는 텍스트 및 기본 언어 발달을 위해 설계 플레이 북. 수준에 기초하여, 원격 컴퓨터의 구성 및 배포를 관리하는 플레이 북을 사용할 수 있습니다.

Q19, 어떻게 모든 ansible_ 변수의 목록을 보려면?

Ansible 기본은 기계 "사실"당신이 플레이 북과 템플릿이 "사실"에 액세스 할 수의 관리에 대한 정보를 수집합니다. 사용할 수있는 모든 "사실"임시 작업을 실행으로 "설정"모듈 수의 컴퓨터의 목록을 확인 :

Ansible -m setup hostname

이것은 특정 호스트의 모든 디렉토리의 사용 가능한 "사실"을 인쇄합니다.

추천

출처www.cnblogs.com/codingdevops/p/11571076.html