Làm cách nào để cài đặt Puppet 6 trên Ubuntu 18?

Tìm hiểu cách cài đặt máy chủ rối & đại lý và thiết lập, để họ nói chuyện với nhau.


Puppet là một trong những công cụ quản lý cấu hình được doanh nghiệp áp dụng nhiều nhất trong thế giới DevOps. Là một kỹ sư của DevOps, bạn phải biết cách thiết lập một con rối trên hệ thống của mình.

Nhưng trước khi chúng tôi bắt đầu, hãy để tôi nói với bạn rằng cài đặt một con rối không phải là một nhiệm vụ dễ dàng chút nào. Nếu bạn bỏ lỡ một bước duy nhất hoặc nếu bạn thay đổi luồng các bước được đề cập trong hướng dẫn này, thậm chí tại một nơi, bạn có thể gãi đầu cả ngày với rất nhiều lỗi, nhưng thiết lập của bạn sẽ không hoàn thành. Vì vậy, hãy làm theo từng bước thật cẩn thận.

Con rối có kiến ​​trúc máy khách-máy chủ, bao gồm một chủ rối (máy chủ) và các tác nhân bù nhìn (máy khách). Puppet Master có tất cả các cấu hình, và nó biên dịch và cung cấp các cấu hình cho các tác nhân bù nhìn. Đại lý bù nhìn gửi các sự kiện cho chủ rối yêu cầu danh mục trong khoảng thời gian. Puppet Master gửi lại danh mục yêu cầu cho đại lý bù nhìn. Puppet Agent sau đó áp dụng danh mục đó trên nút và báo cáo lại cho chủ.

Bây giờ bạn đã có hiểu biết cơ bản về Puppet, hãy bắt đầu và thành lập một Puppet Master và Puppet Agent.

Nếu bạn là người mới bắt đầu tuyệt đối, bạn có thể muốn dùng cái này khóa học video trực tuyến.

Chi tiết môi trường

Tôi đang sử dụng 2 máy Ubuntu 18.04. Một người sẽ đóng vai trò là bậc thầy bù nhìn và người còn lại là một đặc vụ bù nhìn. Dưới đây là chi tiết của các máy:

Master Puppet (Máy chủ)

  • Tên máy chủ: con rối, con rối.geekflate.com
  • Địa chỉ IP: 192.168.0.108

Đại lý bù nhìn (Khách hàng)

  • Tên máy chủ: con rối
  • Địa chỉ IP: 192.168.0.107

Cài đặt máy chủ rối

Trước khi bắt đầu cài đặt, tôi cần chỉnh sửa tệp / etc / hosts trên cả chủ và tác nhân để chúng có thể giải quyết lẫn nhau.

Trên nút Master

[email được bảo vệ]: ~ $ sudo gedit / etc / hosts

[sudo] mật khẩu cho geekflare:

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.108 con rối rối.geekflare.com

Trên nút đại lý

[email được bảo vệ]: ~ $ sudo gedit / etc / hosts

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.107 con rối
192.168.0.108 con rối rối.geekflare.com

Bây giờ, tôi cần lấy một kho lưu trữ rối trên nút chính của mình và cập nhật nó.

Tải về kho con rối.

[email được bảo vệ]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

–2019-10-15 15: 41: 34– https://apt.puppetlabs.com/puppet6-release-bionic.deb

Đang giải quyết apt.puppetlabs.com (apt.puppetlabs.com) … 99.86.19.107, 99.86.19.59, 99.86.19.2, …

Đang kết nối với apt.puppetlabs.com (apt.puppetlabs.com) | 99.86.19.107 |: 443 … đã kết nối.

Yêu cầu HTTP được gửi, đang chờ phản hồi … 200 OK

Độ dài: 11736 (11K) [ứng dụng / x-debian-gói]

Lưu vào: ‘Puppet6-release-bionic.deb

con rối6-phát hành-sinh học 100% [===================>] 11,46K –.- KB / s trong 0 giây

2019-10-15 15:41:34 (236 MB / s) – con rối6-phát hành-bionic.deb đã lưu [11736/11736]

Thêm và cấu hình con rối 6 repo.

[email được bảo vệ]: ~ $ sudo dpkg -i con rối6-phát hành-bionic.deb

Chọn gói phát hành Puppet6 chưa được chọn trước đó.

(Đọc cơ sở dữ liệu … 187041 tệp và thư mục hiện được cài đặt.)

Chuẩn bị giải nén Puppet6-release-bionic.deb …

Giải nén Puppet6-phát hành (6.0.0-5bionic) …

Thiết lập phát hành Puppet6 (6.0.0-5bionic) …

Cập nhật danh sách kho lưu trữ.

[email được bảo vệ]: ~ $ sudo apt cập nhật

Lượt truy cập: 1 https://doad.docker.com/linux/ubfox bionic InRelease

Lượt truy cập: 2 http://security.ubfox.com/ubfox Bảo mật vũ trụ InRelease

Lượt truy cập: 3 http://ppa.launchpad.net/ansible/ansible/ubfox vũ trụ InRelease

Nhận: 4 http://doad.virtualbox.org/virtualbox/debian vũ trụ InRelease [4,429 B]

Nhận: 5 http://apt.puppetlabs.com InRelease [85.3 kB]

Lượt truy cập: 6 http://us.archive.ubfox.com/ubfox vũ trụ InRelease

Lượt truy cập: 7 http://us.archive.ubfox.com/ubfox cập nhật vũ trụ InRelease

Nhận: 8 http://doad.virtualbox.org/virtualbox/debian cosmic / contrib amd64 Gói [1.466 B]

Nhận: 9 http://apt.puppetlabs.com bionic / Puppet6 tất cả các Gói [13,5 kB]

Lượt truy cập: 10 http://us.archive.ubfox.com/ubfox backport vũ trụ InRelease

Nhận: 11 http://apt.puppetlabs.com gói bionic / Puppet6 i386 [13,5 kB]

Nhận: 12 http://apt.puppetlabs.com Gói bionic / Puppet6 amd64 [32.3 kB]

Đã tải 151 kB trong 2 giây (61,9 kB / s)

Đọc danh sách gói … Xong

Xây dựng cây phụ thuộc

Đọc thông tin trạng thái … Xong

Có thể nâng cấp 234 gói. Chạy ‘danh sách apt – nâng cấp’ để xem chúng.

Cài đặt máy chủ rối

Hãy để LỚN chạy lệnh dưới đây trên nút chính để cài đặt máy chủ con rối trên đó.

[email được bảo vệ]: ~ $ sudo apt install -y Puppetserver

Đọc danh sách gói … Xong

Xây dựng cây phụ thuộc

Đọc thông tin trạng thái … Xong

Các gói bổ sung sau sẽ được cài đặt:

ca-chứng nhận-java java-chung openjdk-8-jre-con rối không đầu

Gói đề xuất:

phông chữ mặc định-jre-dejavu-thêm phông chữ-ipafont-gothic phông chữ-ipafont-mincho

phông chữ-wqy-microhei phông chữ-wqy-zenhei

Các gói MỚI sau đây sẽ được cài đặt:

ca-chứng nhận-java java-chung openjdk-8-jre-con rối không đầu

con rối

0 được nâng cấp, 5 cài đặt mới, 0 để loại bỏ và 234 không được nâng cấp.

Cần nhận 109 MB tài liệu lưu trữ.

Sau thao tác này, sẽ sử dụng 287 MB dung lượng đĩa bổ sung.

Nhận: 1 http://us.archive.ubfox.com/ubfox cosmic / main amd64 java-common all 0.68ubfox1 [6,988 B]

Nhận: 2 http://apt.puppetlabs.com bionic / Puppet6 amd64 Puppet-agent amd64 6.10.1-1bionic [19.9 MB]

Nhận: 3 http://us.archive.ubfox.com/ubfox vũ trụ-cập nhật / vũ trụ amd64 openjdk-8-jre-headless amd64 8u212-b03-0ub Ubuntu1.18.10.1 [27.2 MB]

Nhận: 4 http://apt.puppetlabs.com bionic / Puppet6 amd64 Puppetserver tất cả 6.7.1-1bionic [61.5 MB]

Nhận: 5 http://us.archive.ubfox.com/ubfox cosmic / main amd64 ca-cert-java tất cả 20180516ubfox1 [12.3 kB]

Đã tải 109 MB sau 1 phút 41 giây (1.072 kB / s)

Giải nén con rối máy chủ (6.7.1-1bionic) …

Thiết lập tác nhân bù nhìn (6.10.1-1bionic) …

Đã tạo symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Đã tạo symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Đã xóa /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Thiết lập java-common (0.68ubfox1) …

Xử lý các kích hoạt cho libc-bin (2.28-0ubfox1) …

Xử lý các kích hoạt cho systemd (239-7ubfox10.12) …

Xử lý các kích hoạt cho man-db (2.8.4-2) …

Xử lý kích hoạt cho ca-chứng chỉ (20180409) …

Cập nhật chứng chỉ trong / etc / ssl / certs…

0 thêm, 0 xóa; làm xong.

Chạy hook trong /etc/ca-certert/update.d…

làm xong.

Thiết lập ca-chứng chỉ-java (20180516ubfox1) …

head: không thể mở ‘/ etc / ssl / certs / java / cacerts’ để đọc: Không có tệp hoặc thư mục như vậy

Thêm debian: SSL.com_EV_Root_Certification_Authority_ECC.pem

Thêm debian: ssl-cert-snoil.pem

Thêm debian: SwissSign_Gold_CA _-_ G2.pem

Thêm debian: SZAFIR_ROOT_CA2.pem

Thêm debian: OpenTrust_Root_CA_G3.pem

Thêm debian: TWCA_Root_Certification_Authority.pem

Thêm debian: QuoVadis_Root_CA_2_G3.pem

Thêm debian: DST_Root_CA_X3.pem

Thêm debian: SecureSign_RootCA11.pem

Thêm debian: QuoVadis_Root_CA_1_G3.pem

Thêm debian: T-TeleSec_GlobalRoot_Class_3.pem

Thêm debian: Go_Daddy_Root_Cert ve_Authority _-_ G2.pem

Thêm debian: Actalis_Authentication_Root_CA.pem

Thêm debian: Chambers_of_C Commerce_Root _-_ 2008.pem

làm xong.

Xử lý kích hoạt cho ca-chứng chỉ (20180409) …

Cập nhật chứng chỉ trong / etc / ssl / certs…

0 thêm, 0 xóa; làm xong.

Chạy hook trong /etc/ca-certert/update.d…

làm xong.

làm xong.

Thiết lập openjdk-8-jre-headless: amd64 (8u212-b03-0ubfox1.18.10.1) …

Thiết lập máy chủ con rối (6.7.1-1bionic) …

usermod: không thay đổi

Xử lý các kích hoạt cho systemd (239-7ubfox10.12) …

Cấu hình máy chủ rối

 Chỉnh sửa tập tin con rối, như hiển thị bên dưới. Điều này để cấu hình JVM của máy chủ con rối.

[email được bảo vệ]: ~ $ sudo gedit / etc / default / Puppetserver

# Sửa đổi điều này nếu bạn muốn thay đổi cấp phát bộ nhớ, bật JMX, v.v.

JAVA_ARGS ="-Xms512m -Xmx512m -Djruby.logger. Class = com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

 Chỉnh sửa tập tin cấu hình con rối để sửa đổi cài đặt máy chủ con rối.

[email được bảo vệ]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

# Tập tin này có thể được sử dụng để ghi đè cài đặt con rối mặc định.

# Xem các liên kết sau để biết thêm chi tiết về cài đặt nào khả dụng:

# – https://puppet.com/docs/puppet/latest/config_important_sinstall.html

# – https://puppet.com/docs/puppet/latest/config_about_sinstall.html

# – https://puppet.com/docs/puppet/latest/config_file_main.html

# – https://puppet.com/docs/puppet/latest/configuration.html

[bậc thầy]

vardir = / opt / Puppetlabs / server / data / Puppetserver

logdir = / var / log / Puppetlabs / Puppetserver

rundir = / var / run / Puppetlabs / Puppetserver

pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid

codedir = / etc / Puppetlabs / code

dns_alt_names = con rối, con rối.geekflare.com

[chủ yếu]

certname = Puppet.geekflare.com

máy chủ = Puppet.geekflare.com

môi trường = sản xuất

runinterval = 15m

Puppet Server cần tạo một ký hiệu gốc và trung gian, CA.

[email được bảo vệ]: ~ $ sudo / opt / Puppetlabs / bin / Puppetserver ca thiết lập

Thế hệ đã thành công. Tìm tệp của bạn trong / etc / Puppetlabs / Puppet / ssl / ca

 Bắt đầu và kích hoạt dịch vụ máy chủ con rối.

[email được bảo vệ]: ~ $ sudo systemctl start Puppetserver

[email được bảo vệ]: ~ $ sudo systemctl cho phép con rối

Đồng bộ hóa trạng thái của Puppetserver.service với tập lệnh dịch vụ SysV với / lib / systemd / systemd-sysv-install.

Thực thi: / lib / systemd / systemd-sysv-install cho phép con rối

Cài đặt đại lý bù nhìn

Thực hiện theo các bước dưới đây trên nút đại lý như bạn đã làm cho hệ thống chính. Kho lưu trữ rối cần phải trình bày trên tất cả các nút tác nhân.

[email được bảo vệ]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

[email được bảo vệ]: ~ $ sudo dpkg -i con rối6-phát hành-bionic.deb

[email được bảo vệ]: ~ $ sudo apt cập nhật

Chạy lệnh dưới đây trên nút tác nhân để cài đặt tác nhân bù nhìn.

[email được bảo vệ]: ~ $ sudo apt install -y con rối-tác nhân

Đọc danh sách gói … Xong

Xây dựng cây phụ thuộc

Đọc thông tin trạng thái … Xong

Các gói MỚI sau đây sẽ được cài đặt:

đại lý bù nhìn

0 nâng cấp, 1 mới cài đặt, 0 để gỡ bỏ và 233 không được nâng cấp.

Cần nhận 19,9 MB tài liệu lưu trữ.

Sau thao tác này, 115 MB dung lượng đĩa bổ sung sẽ được sử dụng.

Nhận: 1 http://apt.puppetlabs.com bionic / Puppet6 amd64 Puppet-agent amd64 6.10.1-1bionic [19.9 MB]

Đã tải 19,9 MB trong 2 giây (8,488 kB / s)

Chọn gói tác nhân rối chưa được chọn trước đó.

(Đọc cơ sở dữ liệu … 185786 tệp và thư mục hiện được cài đặt.)

Chuẩn bị giải nén … / Puppet-agent_6.10.1-1bionic_amd64.deb …

Giải nén tác nhân rối (6.10.1-1bionic) …

Thiết lập tác nhân bù nhìn (6.10.1-1bionic) …

Đã tạo symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Đã tạo symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Đã xóa /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Xử lý các kích hoạt cho libc-bin (2.28-0ubfox1) …

Cấu hình rối đại lý

 Chỉnh sửa tập tin cấu hình con rối trên nút tác nhân.

[email được bảo vệ]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

[chủ yếu]

certname = con rối

máy chủ = Puppet.geekflare.com

môi trường = sản xuất

runinterval = 15m

Chạy lệnh dưới đây để bắt đầu dịch vụ con rối. Lệnh này cũng sẽ tự động bắt đầu sau khi khởi động.

[email được bảo vệ]: ~ $ sudo / opt / Puppetlabs / bin / con rối dịch vụ tài nguyên con rối đảm bảo = chạy enable = true

dịch vụ {‘con rối’:

đảm bảo => ‘đang chạy’,

cho phép => ‘thật’,

Tạo và ký chứng chỉ

Khi đại lý bắt đầu lần đầu tiên, nó sẽ gửi yêu cầu ký chứng chỉ cho chủ rối. Các bậc thầy cần kiểm tra và ký giấy chứng nhận này. Sau này, tác nhân sẽ lấy danh mục từ chủ và áp dụng chúng cho các nút đại lý thường xuyên.

Bây giờ tác nhân bù nhìn đang chạy chạy lệnh bên dưới trên nút chính để kiểm tra xem nó có nhận được bất kỳ yêu cầu ký chứng chỉ nào không.

Trên nút chủ

[email được bảo vệ]: ~ $ sudo / opt / Puppetlabs / bin / Puppetserver ca list

[sudo] mật khẩu cho geekflare:

Giấy chứng nhận được yêu cầu:

con rối (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Ký giấy chứng nhận được gửi bởi các đại lý.

[email được bảo vệ]: ~ $ sudo / opt / Puppetlabs / bin / Puppetserver ca list

[sudo] mật khẩu cho geekflare:

Giấy chứng nhận được yêu cầu:

con rối EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Chạy lệnh dưới đây để kiểm tra tất cả các danh sách chứng chỉ. Một chứng chỉ đã có sẵn, là mặc định của nút chủ và chứng chỉ còn lại là từ nút tác nhân.

[email được bảo vệ]: ~ $ sudo / opt / Puppetlabs / bin / Puppetserver ca list –all

Giấy chứng nhận đã ký:

con rối (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Puppet.geekflare.com (SHA256) 71: 30: 5B: C8: C5: CE: 28: A0: 60: 5C: 4F: 39: 26: D0: FC: DA: DF: 0A: 0F: 4D: ED: D4: B1: 9C: 05: 1A: 38: 2F: D6: 5F: 9C: 06 tên alt: ["DNS: Puppet.geekflare.com", "DNS: con rối", "DNS: Puppet.geekflare.com"]

Trên nút đại lý

Bây giờ hãy chạy lệnh này để kiểm tra xem kết nối đã được thiết lập giữa các nút chính và đại lý chưa, và mọi thứ đều chạy tốt.

[email được bảo vệ]: ~ $ sudo / opt / Puppetlabs / bin / rối đại lý –test

Thông tin: Sử dụng cấu hình ‘sản xuất’ môi trường

Thông tin: Truy xuất các trình cắm

Thông tin: Truy xuất plugin

Thông tin: Lấy địa phương

Thông tin: Danh mục bộ đệm cho tác nhân bù nhìn

Thông tin: Áp dụng phiên bản cấu hình ‘1571171191’

Lưu ý: Danh mục ứng dụng trong 0,02 giây

Ví dụ con rối mẫu

Hãy để chạy một ví dụ con rối đơn giản. Tôi sẽ tạo một bảng kê rối đơn giản, tạo một thư mục với sự cho phép nhất định.

Trên nút chủ:

[email được bảo vệ]: ~ $ sudo gedit /etc/puppetlabs/code/envirments/production/manifests/site.pp

 Đặt nội dung dưới đây.

nút ‘con rối’ {# Chỉ áp dụng cho nút được đề cập. Nếu không có gì được đề cập, áp dụng cho tất cả.

tệp {‘/ home / test’: # Tệp loại tài nguyên

đảm bảo => ‘thư mục’, # Tạo một thư mục

chủ sở hữu => ‘root’, # Quyền sở hữu

nhóm => ‘root’, # Tên nhóm

chế độ => ‘0755’, # Quyền thư mục

}

}

Bây giờ hãy chạy lệnh dưới đây để một tác nhân tiếp cận với chủ và kéo các cấu hình. Sau khi chạy lệnh này, nó sẽ tạo thư mục đó trên nút tác nhân.

Trên nút đại lý

[email được bảo vệ]: ~ $ sudo / opt / Puppetlabs / bin / rối đại lý –test

[sudo] mật khẩu cho geekflare:

Thông tin: Sử dụng cấu hình ‘sản xuất’ môi trường

Thông tin: Truy xuất các trình cắm

Thông tin: Truy xuất plugin

Thông tin: Lấy địa phương

Thông tin: Danh mục bộ đệm cho con rối

Thông tin: Áp dụng phiên bản cấu hình ‘1571333010’

Lưu ý: / Giai đoạn [chính] / Chính / Nút [múa rối] / Tệp [/ home / test] / Đảm bảo: đã tạo

Lưu ý: Danh mục ứng dụng trong 0,05 giây

Chạy lệnh ls để kiểm tra xem giám đốc đã được tạo thành công chưa. 

[email được bảo vệ]: ~ $ ls -l / nhà /

tổng số 32

drwxr-xr-x 13 geekflare geekflare 4096 Ngày 19 tháng 7 08:06 geekflare

drwx —— 2 root root 16384 ngày 23 tháng 10 năm 2018 bị mất + tìm thấy

drwxr-xr-x 23 geekflare geekflare 4096 ngày 17 tháng 10 11:02 geekflare

drwxr-xr-x 2 root root 4096 Ngày 17 tháng 10 13:23 thử nghiệm

tên người dùng drwxr-xr-x 2 tên người dùng 4096 ngày 29 tháng 6 09:38 tên người dùng

Bạn đi đây!

Phần kết luận

Đây là một ví dụ đơn giản để chứng minh hoạt động của nó. Nhưng hãy tưởng tượng một kịch bản lớn hơn, nơi bạn phải cài đặt hoặc áp dụng một cấu hình nhất định trên hàng trăm máy chủ. Con rối có thể giúp bạn đạt được nó trong vài phút.

Nếu bạn tham gia vào tự động hóa và thích tìm hiểu thêm, bạn có thể kiểm tra điều này Khóa học của kẻ thù, trong đó nói về Ansible, Puppet và Salt.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map