OpenShift CU

OpenShift CLI có khả năng thực hiện tất cả các cấu hình, quản lý, bổ sung và triển khai ứng dụng cơ bản và nâng cao.

Chúng tôi có thể thực hiện các loại hoạt động khác nhau bằng cách sử dụng các lệnh OC. Ứng dụng khách này giúp bạn phát triển, xây dựng, triển khai và chạy các ứng dụng của mình trên bất kỳ nền tảng tương thích OpenShift hoặc Kubernetes nào. Nó cũng bao gồm các lệnh quản trị để quản lý một cụm trong lệnh con ‘adm’.

Các lệnh cơ bản

Bảng sau liệt kê các lệnh OC cơ bản.

Sr.No.Lệnh & Mô tả
1Các loại Giới thiệu về các khái niệm và loại
2Đăng nhập Đăng nhập vào máy chủ
3dự án mới Yêu cầu một dự án mới
4ứng dụng mới Tạo một ứng dụng mới
5Trạng thái Hiển thị tổng quan về dự án hiện tại
6Dự án Chuyển sang dự án khác
7Dự án Hiển thị các dự án hiện có
số 8Giải thích Tài liệu về tài nguyên
9Cluster Bắt đầu và dừng cụm OpenShift

Đăng nhập

Đăng nhập vào máy chủ của bạn và lưu thông tin đăng nhập để sử dụng tiếp theo. Người dùng lần đầu tiên của máy khách nên chạy lệnh này để kết nối với máy chủ, thiết lập phiên được xác thực và lưu kết nối vào tệp cấu hình. Cấu hình mặc định sẽ được lưu vào thư mục chính của bạn trong “.kube / config”.

Thông tin cần thiết để đăng nhập – như tên người dùng và mật khẩu, mã thông báo phiên hoặc chi tiết máy chủ có thể được cung cấp thông qua cờ. Nếu không được cung cấp, lệnh sẽ nhắc người dùng nhập khi cần.

Sử dụng

oc login [URL] [options]

Thí dụ

# Log in interactively
oc login

# Log in to the given server with the given certificate authority file
oc login localhost:8443 --certificate-authority = /path/to/cert.crt

# Log in to the given server with the given credentials (will not prompt interactively)
oc login localhost:8443 --username = myuser --password=mypass

Tùy chọn

-p, –password = “ – Mật khẩu, sẽ nhắc nếu không được cung cấp

-u, –username = “ – Tên người dùng, sẽ nhắc nếu không được cung cấp

–certificate-Authority = “ – Đường dẫn đến tệp cert. cho tổ chức phát hành chứng chỉ

–insecure-ignore-tls-verify = false – Nếu đúng, chứng chỉ của máy chủ sẽ không được kiểm tra tính hợp lệ. Điều này sẽ làm cho các kết nối HTTPS của bạn không an toàn

–token = “ – Mã thông báo mang để xác thực máy chủ API

Để biết chi tiết đầy đủ về bất kỳ lệnh nào, hãy sử dụng lệnh oc <Tên lệnh> –help .

Xây dựng và triển khai lệnh

Bảng sau liệt kê các lệnh xây dựng và triển khai.

Sr.No.Lệnh & Mô tả
1Giới thiệu Quản lý triển khai Kubernetes hoặc triển khai OpenShift
2Triển khai Xem, bắt đầu, hủy hoặc thử lại quá trình triển khai
3Khôi phục Hoàn nguyên một phần của ứng dụng về trạng thái trước đó
4công trình mới Tạo cấu hình bản dựng mới
5bắt đầu xây dựng Bắt đầu một bản dựng mới
6hủy xây dựng Hủy các bản dựng đang chạy, đang chờ xử lý hoặc mới
7nhập hình ảnh Nhập hình ảnh từ sổ đăng ký Docker
số 8Nhãn Gắn thẻ các hình ảnh hiện có vào luồng hình ảnh

Lệnh quản lý ứng dụng

Bảng sau liệt kê các lệnh quản lý ứng dụng.

Sr.No.Lệnh & Mô tả
1Được Hiển thị một hoặc nhiều tài nguyên
2Diễn tả Hiển thị chi tiết của một tài nguyên cụ thể hoặc một nhóm tài nguyên
3Biên tập Chỉnh sửa tài nguyên trên máy chủ
4Bộ Các lệnh giúp thiết lập các tính năng cụ thể trên các đối tượng
5Nhãn Cập nhật nhãn trên tài nguyên
6Chú thích Cập nhật các chú thích trên một tài nguyên
7Lộ ra Hiển thị một ứng dụng được sao chép dưới dạng một dịch vụ hoặc tuyến đường
số 8Xóa bỏ Xóa một hoặc nhiều tài nguyên
9Tỉ lệ Thay đổi số lượng nhóm trong một lần triển khai
10Quy mô tự động Tự động phân tỷ lệ cấu hình triển khai, triển khai, nhân rộng, Bộ điều khiển hoặc tập hợp bản sao
11Bí mật Quản lý bí mật
12Tài khoản dịch vụ Quản lý tài khoản dịch vụ trong dự án của bạn

Các lệnh khắc phục sự cố và gỡ lỗi

Bảng sau liệt kê các lệnh khắc phục sự cố và gỡ lỗi.

Sr.No.Lệnh & Mô tả
1nhật ký In nhật ký cho một tài nguyên
2Rsh Bắt đầu một phiên trình bao trong một nhóm
3Rsync Sao chép tệp giữa hệ thống tệp cục bộ và nhóm
4cảng phía trước Chuyển tiếp một hoặc nhiều cổng cục bộ tới một nhóm
5Gỡ lỗi Khởi chạy phiên bản mới của nhóm để gỡ lỗi
6Exec Thực thi một lệnh trong vùng chứa
7Súng cao su Chạy proxy đến máy chủ Kubernetes API
9Đính kèm Đính kèm vào một vùng chứa đang chạy
10Chạy Chạy một hình ảnh cụ thể trên cụm
11Cp Sao chép tệp và thư mục đến và từ vùng chứa

Lệnh nâng cao

Bảng sau liệt kê các lệnh nâng cao.

Sr.No.Lệnh & Mô tả
1adm Các công cụ để quản lý một cụm
2tạo nên Tạo tài nguyên theo tên tệp hoặc stdin
3thay thế Thay thế tài nguyên bằng tên tệp hoặc stdin
4ứng dụng Áp dụng cấu hình cho tài nguyên theo tên tệp hoặc stdin
5 Cập nhật (các) trường của tài nguyên bằng cách sử dụng bản vá hợp nhất chiến lược
6quá trình Xử lý một mẫu thành danh sách tài nguyên
7xuất khẩu Xuất tài nguyên để chúng có thể được sử dụng ở nơi khác
số 8trích xuất Trích xuất bí mật hoặc cấu hình bản đồ vào đĩa
9nhàn rỗi Tài nguyên có thể mở rộng không hoạt động
10quan sát Quan sát các thay đổi đối với tài nguyên và phản ứng với chúng (thử nghiệm)
11chính sách Quản lý chính sách ủy quyền
12auth Kiểm tra ủy quyền
13đổi Chuyển đổi tệp cấu hình giữa các phiên bản API khác nhau
14nhập khẩu Các lệnh nhập ứng dụng

Đặt lệnh

Bảng sau liệt kê các lệnh cài đặt.

Sr.No.Lệnh & Mô tả
1Đăng xuất Kết thúc phiên máy chủ hiện tại
2Cấu hình Thay đổi các tệp cấu hình cho máy khách
3Tôi là ai Trả lại thông tin về phiên hiện tại
4Hoàn thành Mã hoàn thành trình bao đầu ra cho trình bao được chỉ định (bash hoặc zsh)

OpenShift – Clusters

OpenShift sử dụng hai phương pháp cài đặt để thiết lập cụm OpenShift.

  • Phương pháp cài đặt nhanh chóng
  • Phương pháp cấu hình nâng cao

Thiết lập cụm

Phương pháp cài đặt nhanh

Phương pháp này được sử dụng để chạy cấu hình thiết lập cụm nhanh chóng. Để sử dụng phương pháp này, trước tiên chúng ta cần cài đặt trình cài đặt. Điều này có thể được thực hiện bằng cách chạy lệnh sau.

Phương pháp tương tác

$ atomic-openshift-installer install

Điều này rất hữu ích khi một người muốn chạy một thiết lập tương tác.

Phương pháp cài đặt không cần giám sát Phương pháp này được sử dụng khi một người muốn thiết lập một phương thức cài đặt không cần giám sát, trong đó người dùng có thể xác định một tệp yaml cấu hình và đặt nó dưới ~ / .config / openshift / với tên là installer.cfg.yml. Sau đó, có thể chạy lệnh sau để cài đặt thẻ –u

$ atomic-openshift-installer –u install

Theo mặc định, nó sử dụng tệp cấu hình nằm dưới ~ / .config / openshift / . Mặt khác, Ansible được sử dụng như một bản sao lưu cài đặt.

version: v2
variant: openshift-enterprise
variant_version: 3.1
ansible_log_path: /tmp/ansible.log

deployment:
   ansible_ssh_user: root
   hosts:
   - ip: 172.10.10.1
   hostname: vklnld908.int.example.com
   public_ip: 24.222.0.1
   public_hostname: master.example.com
   roles:
      - master
      - node
   containerized: true
   connect_to: 24.222.0.1
   
   - ip: 172.10.10.2
   hostname: vklnld1446.int.example.com
   public_ip: 24.222.0.2
   public_hostname: node1.example.com
   roles:
      - node
   connect_to: 10.0.0.2
   
   - ip: 172.10.10.3
   hostname: vklnld1447.int.example.com
   public_ip: 10..22.2.3
   public_hostname: node2.example.com
   roles:
      - node
   connect_to: 10.0.0.3

roles:
   master:
      <variable_name1>: "<value1>"
      <variable_name2>: "<value2>"
   node:
      <variable_name1>: "<value1>"

Ở đây, chúng ta có một biến cụ thể theo vai trò, có thể được xác định nếu một người muốn thiết lập một số biến cụ thể. Sau khi hoàn tất, chúng ta có thể xác minh cài đặt bằng lệnh sau.

$ oc get nodes
NAME                    STATUS    AGE
master.example.com      Ready     10d
node1.example.com       Ready     10d
node2.example.com       Ready     10d

Cài đặt nâng cao

Cài đặt nâng cao hoàn toàn dựa trên cấu hình Ansible, trong đó cấu hình máy chủ hoàn chỉnh và định nghĩa các biến liên quan đến cấu hình chính và nút có sẵn. Điều này chứa tất cả các chi tiết liên quan đến cấu hình.

Khi chúng tôi đã thiết lập xong và playbook đã sẵn sàng, chúng tôi có thể chỉ cần chạy lệnh sau để thiết lập cụm.

$ ansible-playbook -i inventry/hosts ~/openshift-ansible/playbooks/byo/config.yml

Thêm máy chủ vào một cụm

Chúng ta có thể thêm một máy chủ vào cụm bằng cách sử dụng –

  • Công cụ cài đặt nhanh
  • Phương pháp cấu hình nâng cao

Công cụ cài đặt nhanh hoạt động ở cả chế độ tương tác và không tương tác. Sử dụng lệnh sau

$ atomic-openshift-installer -u -c </path/to/file> scaleup

Định dạng chia tỷ lệ giao diện tệp cấu hình ứng dụng có thể được sử dụng để thêm cả nút chính cũng như nút.

Phương pháp cấu hình nâng cao

Trong phương pháp này, chúng tôi cập nhật tệp máy chủ của Ansible và sau đó thêm một nút hoặc chi tiết máy chủ mới trong tệp này. Tệp cấu hình trông giống như sau.

[OSEv3:children]
masters
nodes
new_nodes
new_master

Trong cùng một tệp máy chủ Ansible, hãy thêm các chi tiết biến liên quan đến nút mới như được hiển thị bên dưới.

[new_nodes]
vklnld1448.int.example.com openshift_node_labels = "{'region': 'primary', 'zone': 'east'}"

Cuối cùng, sử dụng tệp máy chủ đã cập nhật, chạy cấu hình mới và gọi tệp cấu hình để hoàn tất thiết lập bằng lệnh sau

$ ansible-playbook -i /inventory/hosts /usr/share/ansible/openshift-ansible/playbooks/test/openshift-node/scaleup.yml

Quản lý nhật ký cụm

Nhật ký cụm OpenShift không là gì ngoài các nhật ký được tạo từ máy chủ và máy nút của cụm. Chúng có thể quản lý bất kỳ loại nhật ký nào, bắt đầu từ nhật ký máy chủ, nhật ký chính, nhật ký vùng chứa, nhật ký nhóm, v.v. Có nhiều công nghệ và ứng dụng hiện có để quản lý nhật ký vùng chứa.

Một số công cụ như được liệt kê có thể được triển khai để quản lý nhật ký.

  • Fluentd
  • ELK
  • Kabna
  • Nagios
  • Splunk

Ngăn xếp ELK – Ngăn xếp này hữu ích khi cố gắng thu thập nhật ký từ tất cả các nút và trình bày chúng ở định dạng có hệ thống. Ngăn xếp ELK chủ yếu được chia thành ba loại chính.

ElasticSearch – Chủ yếu có trách nhiệm thu thập thông tin từ tất cả các vùng chứa và đưa nó vào vị trí trung tâm.

Fluentd – Được sử dụng để cung cấp các bản ghi đã thu thập vào động cơ chứa co giãn tìm kiếm.

Kibana – Giao diện đồ họa được sử dụng để trình bày dữ liệu thu thập được dưới dạng thông tin hữu ích trong giao diện đồ họa.

Một điểm chính cần lưu ý là, khi hệ thống này được triển khai trên cụm, nó bắt đầu thu thập nhật ký từ tất cả các nút.

Chẩn đoán nhật ký

OpenShift có một lệnh số hóa oc adm có sẵn với OC có thể được sử dụng để phân tích nhiều tình huống lỗi. Công cụ này có thể được sử dụng từ chính với tư cách là quản trị viên cụm. Tiện ích này rất hữu ích trong việc khắc phục sự cố và xác định các vấn đề đã biết. Điều này chạy trên máy khách chính và các nút.

Nếu chạy mà không có bất kỳ agruments hoặc cờ nào, nó sẽ tìm kiếm các tệp cấu hình của máy khách, máy chủ và nút machnies và sử dụng chúng để chẩn đoán. Người ta có thể chạy chẩn đoán riêng lẻ bằng cách chuyển các đối số sau:

  • AggregatedLogging
  • AnalyzeLogs
  • ClusterRegistry
  • ClusterRoleBindings
  • ClusterRoles
  • ClusterRouter
  • ConfigContexts
  • DiagnosticPod
  • MasterConfigCheck
  • MasterNode
  • MetricsApiProxy
  • Kiểm tra mạng
  • NodeConfigCheck
  • NodeDefinitions
  • ServiceExternalIPs
  • UnitStatus

Người ta có thể đơn giản chạy chúng bằng lệnh sau.

$ oc adm diagnostics <DiagnosticName>

Nâng cấp một cụm

Nâng cấp cụm liên quan đến việc nâng cấp nhiều thứ bên trong cụm và định vị địa lý cho cụm được cập nhật với các thành phần và gói nâng cấp mới. Điều này liên quan đến –

  • Nâng cấp các thành phần chính
  • Nâng cấp các thành phần nút
  • Nâng cấp các chính sách
  • Nâng cấp các tuyến đường
  • Nâng cấp luồng hình ảnh

Để thực hiện tất cả các nâng cấp này, trước tiên chúng ta cần phải có các trình cài đặt nhanh hoặc các utils tại chỗ. Để làm được điều đó, chúng tôi cần cập nhật các tiện ích sau:

  • nguyên tử-openshift-utils
  • nguyên tử-openshift-loại trừ
  • nguyên tử-openshift-docker-loại trừ
  • gói etcd

Trước khi bắt đầu nâng cấp, chúng ta cần sao lưu etcd trên máy chủ, có thể thực hiện bằng các lệnh sau.

$ ETCD_DATA_DIR = /var/lib/origin/openshift.local.etcd
$ etcdctl backup \
   --data-dir $ETCD_DATA_DIR \
   --backup-dir $ETCD_DATA_DIR.bak.<date>

Nâng cấp các thành phần chính

Trong OpenShift master, chúng tôi bắt đầu nâng cấp bằng cách cập nhật tệp etcd và sau đó chuyển sang Docker. Cuối cùng, chúng tôi chạy trình thực thi tự động để đưa cụm vào vị trí cần thiết. Tuy nhiên, trước khi bắt đầu nâng cấp, trước tiên chúng ta cần kích hoạt các gói openshift nguyên tử trên mỗi bản chính. Điều này có thể được thực hiện bằng cách sử dụng các lệnh sau.

Bước 1 – Loại bỏ các gói mở nguyên tử

$ atomic-openshift-excluder unexclude

Bước 2 – Nâng cấp etcd trên tất cả các bản chính.

$ yum update etcd

Bước 3 – Khởi động lại dịch vụ của etcd và kiểm tra xem nó đã bắt đầu thành công chưa.

$ systemctl restart etcd
$ journalctl -r -u etcd

Bước 4 – Nâng cấp gói Docker

$ yum update docker

Bước 5 – Khởi động lại dịch vụ Docker và kiểm tra xem nó đã được khởi động chính xác chưa.

$ systemctl restart docker
$ journalctl -r -u docker

Bước 6 – Sau khi hoàn tất, khởi động lại hệ thống bằng các lệnh sau.

$ systemctl reboot
$ journalctl -r -u docker

Bước 7 – Cuối cùng, chạy trình thực thi nguyên tử để đưa các gói trở lại danh sách loại trừ yum.

$ atomic-openshift-excluder exclude

Không có sự bắt buộc nào như vậy đối với việc nâng cấp chính sách, nó chỉ cần được nâng cấp nếu được khuyến nghị, có thể kiểm tra bằng lệnh sau.

$ oadm policy reconcile-cluster-roles

Trong hầu hết các trường hợp, chúng tôi không cần cập nhật định nghĩa chính sách.

Nâng cấp các thành phần nút

Sau khi cập nhật chính hoàn tất, chúng tôi có thể bắt đầu nâng cấp các nút. Một điều cần lưu ý là thời gian nâng cấp phải ngắn để tránh bất kỳ loại vấn đề nào trong cụm.

Bước 1 – Xóa tất cả các gói OpenShift nguyên tử khỏi tất cả các nút mà bạn muốn thực hiện nâng cấp.

$ atomic-openshift-excluder unexclude

Bước 2 – Tiếp theo, tắt lập lịch nút trước khi nâng cấp.

$ oadm manage-node <node name> --schedulable = false

Bước 3 – Sao chép tất cả các nút từ máy chủ hiện tại sang máy chủ khác.

$ oadm drain <node name> --force --delete-local-data --ignore-daemonsets

Bước 4 – Nâng cấp thiết lập Docker trên máy chủ.

$ yum update docker

Bước 5 – Khởi động lại dịch vụ Docker và sau đó khởi động nút dịch vụ Docke

$systemctl restart docker
$ systemctl restart atomic-openshift-node

Bước 6 – Kiểm tra xem cả hai đều đã khởi động chính xác chưa.

$ journalctl -r -u atomic-openshift-node

Bước 7 – Sau khi nâng cấp xong, khởi động lại máy nút.

$ systemctl reboot
$ journalctl -r -u docker

Bước 8 – Bật lại lập lịch trên các nút.

$ oadm manage-node <node> --schedulable.

Bước 9 – Chạy trình thực thi nguyên tử-openshift để lấy lại gói OpenShift trên nút.

$ atomic-openshift-excluder exclude

Bước 10 – Cuối cùng, kiểm tra xem tất cả các nút có sẵn hay không.

$ oc get nodes

NAME                 STATUS   AGE
master.example.com   Ready    12d
node1.example.com    Ready    12d
node2.example.com    Ready    12d

OpenShift – Mở rộng quy mô ứng dụng (xem thêm)

Trả lời