Puppet 대량 배치 실제 사례
*
... 에 따라서
IT
업계 의 급속 한 발전, 전통 적 인 운영 방식 은 대량의 인력 에 의존 하 는 것 이 비교적 힘 들 고 최근 몇 년 동안 자동화 운영 관리 가 신속히 발전 하여 많은 것 을 얻 었 다.
IT
운영 자 들 이 선 호 하 는 완전한 자동화 운영 은 시스템 설치, 배치 관리, 서비스 모니터링 세 가지 측면 을 포함한다.그럼 오늘 우리 다 같이 공부 하 자.
puppet
실제 운영 사례.참고 로 더 많은 의견 을 제시 하 시 는 것 을 환영 합 니 다!
응용 배경
한 회 사 는 500 대의 서버 를 새로 설치 하고 리 눅 스 시스템 을 설치 하 며 온라인 및 후기 관리 설정 을 배치 해 야 한다.시스템 설치 에 있어 서 이 럴 때 는 반드시 대량으로 설치 해 야 합 니 다. 흔히 볼 수 있 는 대량 설치 방식 은 모두 가 알 고 있 는 Kickstart 와 Cobbler 가 있 습 니 다. 구체 적 인 설정 방법 은 인터넷 에 도 좋 은 글 이 많 습 니 다. 여기 서 생략 합 니 다.
알림: 자동 설 치 를 사용 하면 시스템 초기 화, 커 널 단순 최적화, 흔 한 서비스, 소프트웨어 클 라 이언 트 등 설 치 를 자동 으로 초기 화 할 수 있 습 니 다.물론 puppet 클 라 이언 트 도 kickstart 에 설치 하고 설정 할 수 있 습 니 다.
시스템 이 안정 적 으로 실 행 된 후에 지금 우 리 는 일부 서버 를 조정 하고 관리 해 야 한다. 예 를 들 어 100 대의 서버 의 시스템 매개 변수, 원 격 실행 명령 등 을 수정 하려 면 이 럴 때 어떻게 조작 해 야 합 니까?우 리 는 스 크 립 트 를 생각 할 수 있 습 니 다. 생각 이 좋 습 니 다. 100 대의 서버 에 수 동 으로 가서 같은 스 크 립 트 를 실행 하거나 설정 을 수정 하 라 고 하면 시간 도 낭비 되 지 않 습 니까? puppet 를 이용 하면 몇 분, 심지어 몇 초 안에 모두 해결 할 수 있 습 니 다.
2. 실제 사례 설정 < 1 >
현재 필요 한 것 이 있 습 니 다. 100 대의 Linux 서버 에 있 는 crontab ntp 시간 서버 주 소 를 수정 해 야 합 니 다. 원래 서버 crontab NTP 설정 단 계 는 다음 과 같 습 니 다.
- 0 0 * * * /usr/sbin/ntpdate pool.ntp.org >>/data/logs/crontab/ntpdate.log 2>&1
- 10.1.1.21, , :
- 0 */5 * * * /usr/sbin/ntpdate 10.1.1.21 >>/data/logs/crontab/ntpdate.log 2>&1
- puppet ntp :
- Vi /etc/puppet/modules/ntp/manifests/init.pp
- class ntp {
- Exec { path =>"/bin:/sbin:/bin/sh:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"}
- exec {
- "auto change crontab ntp config":
- command =>"sed -i -e '/ntpdate/s/0/*\/5 /2' -e 's/pool.ntp.org/10.1.1.21/' /var/spool/cron/root",
- }
- }
이 코드 의 설명: ntp 모듈 을 만 들 고 exec 자원 을 이용 하여 원 격 으로 명령 을 실행 할 수 있 습 니 다. 하 나 를 보면 열 을 알 수 있 습 니 다. 다른 수정 과 설정 은 모두 이 방법 을 참고 할 수 있 습 니 다.그 중에서 Exec path 는 전역 path 를 정의 한 다 는 뜻 입 니 다.정의 되 지 않 으 면 모든 exec 자원 은 path 경 로 를 정의 해 야 합 니 다.
2. 실제 사례 설정 < 2 >
대규모 클 러 스 터 가 있 을 때 모든 서버 는 데이터 가 일치 하도록 요구 합 니 다. rsync 동기 화 를 사용 하여 rsync 서버 단 을 설정 하고 클 라 이언 트 가 스 크 립 트 명령 을 실행 하면 됩 니 다.마찬가지 로 puppet + 스 크 립 트 를 사용 하여 동기 화 할 수 있 습 니 다. 이렇게 하면 비교적 빠 르 고 물론 puppet 도 사용 할 수 있 습 니 다. rsync 모듈.Rsync 설정 을 무시 하고 puppet 코드 로 바로 올 립 니 다.
- ## www
- class www {
- ## path
- Exec { path =>"/bin:/sbin:/bin/sh:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"}
- ## sh ,192-9-117-162-tdt.com
- file {
- "/data/sh/rsync_www_client.sh":
- source =>"puppet://192-9-117-162-tdt.com/files/www/rsync_www_client.sh",
- owner =>"root",
- group =>"root",
- mode =>"755",
- }
- ## , 600
- file {
- "/etc/rsync.pas":
- source =>"puppet://192-9-117-162-tdt.com/files/www/rsync.pas",
- owner =>"root",
- group =>"root",
- mode =>"600",
- }
- ## , , rsync , , 。
- exec {
- "auto backup www data":
- command =>"mkdir -p /data/backup/`date +%Y%m%d`;mv /data/index /data/backup/www/`date +%Y%m%d` ; /bin/sh /data/sh/rsync_www_client.sh ",
- user =>"root",
- subscribe =>File["/data/sh/rsync_bus_client.sh"],
- refreshonly =>"true",
- }
- }
3. 테스트 puppet
주 * 여기 puppetrun (puppet kick) 푸 시 기능 을 사용 하려 면 클 라 이언 트 를 미리 설정 하고 클 라 이언 트 권한 수여 로 서버 에서 신 호 를 보 낼 수 있 습 니 다. 구체 적 인 설정 글 은 다음 과 같 습 니 다.http://wgkgood.blog.51cto.com/1192594/869694
- :
- puppet kick –d --host `cat puppet.txt`
- Cat Puppet.txt :
- 192-9-117-163-tdt.com
- 192-9-117-164-tdt.com
- 192-9-117-165-tdt.com
4. puppet 총화
본 고 는 참고 로 이해 와 학습 을 통 해 우 리 는 puppet 의 작업 원리 와 깊이 있 는 배 치 를 더욱 깊이 이해 할 수 있 습 니 다. 하 나 를 보면 열 을 알 수 있 습 니 다.
1. master 에서 클 라 이언 트 를 어떻게 그룹 으로 나 눕 니까?정규 말고 또 무엇 을 쓸 수 있 습 니까?
2. 서버 수량 이 계속 증가 하면 puppe 한 대 tmaster 힘 들 겠 다. 어떻게 확장 할 까?
어떻게 더욱 잘 유지 하고 통일 적 으로 관리 합 니까?
puppet node
배치
3. SVN 과 결합 하여 코드 를 직접 제출 하 는 방법 은 무엇 입 니까?등등 문제.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.