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ả |
1 | Cá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ủ |
3 | dự á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 |
5 | Trạng thái Hiển thị tổng quan về dự án hiện tại |
6 | Dự án Chuyển sang dự án khác |
7 | Dự án Hiển thị các dự án hiện có |
số 8 | Giải thích Tài liệu về tài nguyên |
9 | Cluster 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ả |
1 | Giới thiệu Quản lý triển khai Kubernetes hoặc triển khai OpenShift |
2 | Triển khai Xem, bắt đầu, hủy hoặc thử lại quá trình triển khai |
3 | Khôi phục Hoàn nguyên một phần của ứng dụng về trạng thái trước đó |
4 | công trình mới Tạo cấu hình bản dựng mới |
5 | bắt đầu xây dựng Bắt đầu một bản dựng mới |
6 | hủy xây dựng Hủy các bản dựng đang chạy, đang chờ xử lý hoặc mới |
7 | nhập hình ảnh Nhập hình ảnh từ sổ đăng ký Docker |
số 8 | Nhã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 |
2 | Diễ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 |
3 | Biên tập Chỉnh sửa tài nguyên trên máy chủ |
4 | Bộ 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 |
5 | Nhãn Cập nhật nhãn trên tài nguyên |
6 | Chú thích Cập nhật các chú thích trên một tài nguyên |
7 | Lộ 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ố 8 | Xóa bỏ Xóa một hoặc nhiều tài nguyên |
9 | Tỉ lệ Thay đổi số lượng nhóm trong một lần triển khai |
10 | Quy 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 |
11 | Bí mật Quản lý bí mật |
12 | Tà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ả |
1 | nhật ký In nhật ký cho một tài nguyên |
2 | Rsh Bắt đầu một phiên trình bao trong một nhóm |
3 | Rsync Sao chép tệp giữa hệ thống tệp cục bộ và nhóm |
4 | cả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 |
5 | Gỡ lỗi Khởi chạy phiên bản mới của nhóm để gỡ lỗi |
6 | Exec Thực thi một lệnh trong vùng chứa |
7 | Sú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 |
10 | Chạy Chạy một hình ảnh cụ thể trên cụm |
11 | Cp 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ả |
1 | adm Các công cụ để quản lý một cụm |
2 | tạo nên Tạo tài nguyên theo tên tệp hoặc stdin |
3 | thay 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 | vá 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 |
6 | quá trình Xử lý một mẫu thành danh sách tài nguyên |
7 | xuất khẩu Xuất tài nguyên để chúng có thể được sử dụng ở nơi khác |
số 8 | trích xuất Trích xuất bí mật hoặc cấu hình bản đồ vào đĩa |
9 | nhàn rỗi Tài nguyên có thể mở rộng không hoạt động |
10 | quan 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) |
11 | chính sách Quản lý chính sách ủy quyền |
12 | auth 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 |
14 | nhậ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 |
2 | Cấu hình Thay đổi các tệp cấu hình cho máy khách |
3 | Tôi là ai Trả lại thông tin về phiên hiện tại |
4 | Hoà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