Nguồn khoảng không quảng cáo Ansible Kubernetes (K8s)

Nguon Khoang Khong Quang Cao Ansible Kubernetes K8s



Trong bài đăng này, chúng ta tìm hiểu cách sử dụng plugin Kubernetes trong công cụ Ansible. Trong Ansible, rất khó để quản lý số lượng lớn container. Nhưng việc sử dụng Kubernetes trong Ansible rất hữu ích khi quản lý các vùng chứa. Trong hướng dẫn này, chúng ta sẽ tìm hiểu nguồn khoảng không quảng cáo Kubernetes là gì và cách nó hoạt động trong Ansible.

Google đã ra mắt phần mềm quản lý dễ truy cập có tên Kubernetes, còn được gọi là K8, được sử dụng để quản lý các cấu hình ảo hóa trên một bộ máy từ xa với các tính năng cài đặt không có thời gian ngừng hoạt động, tự động đảo ngược và khả năng mở rộng, cung cấp cho plugin Kubernetes khả năng thích ứng cực cao kiến trúc trong Ansible. Thông qua tính khả dụng của API REST cho chức năng cần thiết, mục tiêu chính của Kubernetes là che giấu sự phức tạp liên quan đến việc kiểm soát một số vùng chứa.







Cấu hình của Kubernetes dựa trên máy khách-máy chủ. Tuy nhiên, theo mặc định, chỉ có một máy chủ chính đóng vai trò là máy chủ kiểm soát. Trong Kubernetes, chúng ta cũng có thể sử dụng các bộ điều khiển đa chính để cấu hình Kubernetes. Nguồn hàng tồn kho của K8 đôi khi cần thiết cho các hệ thống điều khiển và định cấu hình các dịch vụ trên máy chủ từ xa để điều khiển các nhóm. Nhưng có những khó khăn trong việc nhận được hướng dẫn cụ thể về cách thực hiện. Do đó, chúng tôi triển khai hướng dẫn này về cách tạo Ansible Playbook trích xuất các nhóm trong một miền và tạo nguồn khoảng không quảng cáo Kubernetes.



Điều kiện tiên quyết để sử dụng Nguồn khoảng không quảng cáo Kubernetes trong Ansible

Để sử dụng nguồn kho Kubernetes trong Ansible, có các hướng dẫn hoặc lệnh về quy trình giai đoạn xuyên suốt hướng dẫn này. Hãy chắc chắn rằng bạn có sự chuẩn bị cần thiết nếu bạn muốn tiến lên trong đó:



  • Để hoạt động trong kịch bản Ansible, trước tiên chúng tôi thiết lập công cụ Ansible trên máy chủ và đảm bảo rằng bạn có phiên bản Ansible 2.11.7 để chúng tôi có thể dễ dàng sử dụng plugin Kubernetes.
  • Để đánh giá plugin Kubernetes, chúng tôi cần một thiết bị máy chủ từ xa có tích hợp cụm Kubernetes.
  • Máy chủ từ xa hiện được định cấu hình để thực thi hướng dẫn Ansible và playbook, cũng như tệp kiểm kê được tạo. Tên của thiết bị từ xa đích là K8s Master Node.
  • Phiên bản Python là 3.6 trở lên phải được cài đặt trên thiết bị của bộ điều khiển Ansible. Nó cũng có thể nằm trong thiết bị máy chủ từ xa mục tiêu.
  • Phiên bản mô-đun openshift của Python là 0,6 trở lên. Chúng tôi cũng cần một mô-đun pyYAML phiên bản 3.11 trở lên. Cả hai mô-đun phải được thiết lập trong thiết bị máy chủ từ xa cũng như thiết bị điều khiển.

Ví dụ:





Đây là ví dụ đầu tiên mà chúng tôi triển khai Kubernetes trong Ansible. Để làm như vậy, chúng tôi sử dụng bất kỳ môi trường Ansible nào để triển khai nguồn khoảng không quảng cáo Kubernetes. Các quy trình được liệt kê sau đây được thực hiện trong kịch bản sau bằng cách sử dụng Plugin Kubernetes Inventory:

  • Triển khai không gian tên mới trong cụm K8s trong Ansible.
  • Tạo nginx pod bằng Playbook Ansible.
  • Tạo triển khai nginx trong Ansible.

Để làm cho các khái niệm và cách thực hiện trở nên dễ hiểu, chúng tôi triển khai ví dụ này theo một số bước.



Bước 1: Triển khai Không gian tên mới trong Cụm K8 trong Ansible

Ở bước đầu tiên, chúng tôi tạo playbook để có thể viết nội dung ở định dạng “.yml” trong Ansible. Để tạo playbook, sau đây là lệnh mà chúng tôi sử dụng:

[ nguồn gốc @ chủ ansible ] # nano  nginx_pod.yml

Giờ đây, playbook “pod.yml” đã được tạo và khởi chạy trên thiết bị đầu cuối mới của Ansible. Chúng tôi bắt đầu viết kịch bản. Trong playbook, trước tiên chúng tôi xác định phiên bản API mà chúng tôi sử dụng trong nhóm Ansible là “v1”. Không gian tên mà chúng tôi xác định là “ansible-namespace”. Sau đó, chúng tôi liệt kê siêu dữ liệu của không gian tên ansible. Trong siêu dữ liệu, chúng tôi sử dụng phần mềm nginx và nhãn chứa một tầng giá trị giao diện người dùng trong đó. Trong thông số kỹ thuật của playbook, chúng tôi liệt kê tên và hình ảnh được lưu trữ trong vùng chứa; cả hai đều chứa nginx trong đó.

Bước 2: Tạo Manifest Document trong Ansible

Bây giờ, chúng tôi tạo một tài liệu khác trong cùng thư mục của Ansible, đó là tài liệu triển khai ở định dạng “.yml”. Để tạo tài liệu kê khai, hãy sử dụng lệnh sau trong thiết bị đầu cuối Ansible:

[ nguồn gốc @ chủ ansible ] # nano nginx_deployment.yml

Trong tài liệu kê khai, trước tiên chúng tôi xác định lại phiên bản ứng dụng là “app/v1”. Sau đó, chúng tôi cho biết đó là loại tệp gì, liệu đó có phải là tệp triển khai hay không. Sau đó, chúng tôi xác định không gian tên là ansible-namespace. Để xây dựng triển khai, hai bản sao bên trong không gian tên ansible hiển thị số lượng nhóm. Hình ảnh nginx là 1.14.2 được khởi chạy trong nhóm. Tham số matchLabels cung cấp các thẻ cho nhóm và thông số kỹ thuật của chúng trong tham số spec. Nếu bằng cách nào đó, các thẻ trên nhóm khớp với những thẻ được chỉ định trong thông tin cấu hình, thì quá trình triển khai sẽ diễn ra trong tài liệu kê khai trong Ansible.

Bước 3: Tạo Playbook để triển khai Kubernetes trong Ansible

Bây giờ, chúng tôi muốn tạo một playbook khác trong Ansible. Trong playbook này, chúng tôi triển khai chức năng của Kubernetes trong đó. Sử dụng lệnh sau để tạo playbook:

[ nguồn gốc @ chủ ansible ] # nano kubernetes_main.yml

Playbook được tạo trong cùng thư mục nơi playbook và tài liệu kê khai trước đó được lưu trữ trong Ansible. Trong playbook, trước tiên chúng tôi xác định chức năng của playbook mà chúng tôi muốn triển khai. Để xây dựng kết nối, chúng tôi cung cấp các máy chủ từ xa mà chúng tôi muốn nhắm mục tiêu. Ở đây, chúng tôi nhắm mục tiêu 'tất cả' máy chủ. Tiếp theo, chúng tôi xác định biến để kiểm tra trình thông dịch Python trong Ansible bằng đường dẫn nơi nó được lưu trữ. Bây giờ, chúng tôi xác định các nhiệm vụ trong playbook. Đầu tiên, chúng tôi kiểm tra trạng thái của thiết bị minikube. Tiếp theo, chúng tôi tạo một không gian tên Kubernetes mới trong playbook. Sau đó, sao chép nginx_pod.yml và nginx_deployment .yml vào thiết bị từ xa.

Thông qua các tài liệu yml này, chúng tôi xây dựng triển khai nhóm trong thiết bị từ xa. Sau đó, chúng tôi kiểm tra xem nhóm Kubernetes có xuất hiện hay không trên vị trí đã chỉ định trong thiết bị từ xa.

Sau khi chấm dứt playbook, bây giờ chúng tôi xây dựng tệp kiểm kê để chúng tôi tạo kết nối giữa bộ điều khiển Ansible và máy chủ từ xa mục tiêu.

Tất cả:
máy chủ:
k8s_Master_Node:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: ********
ansible_connection: ssh
ansible_port: 22

[ nguồn gốc @ chủ ansible ] # ansible-playbook kubernates_main.yml

Đây là đầu ra mong muốn nơi chúng tôi thấy rằng các tác vụ được đặt thành công trên máy đích:

Sau khi tác vụ được đặt trên máy đích, chúng tôi kiểm tra xem “không gian tên ansible” có nằm trong cụm Kubernetes hay không. Chúng tôi sử dụng lệnh 'grep' sau:

[ nguồn gốc @ chủ ansible ] # kubectl lấy không gian tên | grep ansible-không gian tên

Nếu bạn muốn kiểm tra nhóm đã tạo trong không gian tên của cụm Kubernetes, hãy viết lệnh sau để kiểm tra:

[ nguồn gốc @ chủ ansible ] # kubectl get pods --namespace ansible-namespace

Như bạn thấy trong đầu ra trước đó, chúng tôi nhận được các nhóm đang chạy trên thiết bị. Bây giờ, chúng tôi kiểm tra triển khai mà chúng tôi đã thực hiện trong cụm Kubernetes. Sử dụng câu lệnh sau để kiểm tra các triển khai đã được thực hiện:

[ nguồn gốc @ chủ ansible ] # kubectl triển khai --namespace ansible-namespace

Phần kết luận

Chúng tôi đã tìm hiểu nguồn khoảng không quảng cáo Kubernetes trong Ansible là gì. Chúng tôi cũng đã học cách sử dụng khoảng không quảng cáo Kubernetes trong Ansible. Sau đó, chúng tôi đã triển khai một ví dụ để chúng tôi sẽ tìm hiểu rõ hơn về hoạt động của nguồn khoảng không quảng cáo Kubernetes trong Ansible.