Cách cài đặt và cấu hình OpenShift Origin PaaS Server trên Ubuntu 20.04

theanh

Administrator
Nhân viên
OpenShift là một Nền tảng phát triển đám mây miễn phí, mã nguồn mở và dưới dạng Dịch vụ (PaaS) do Red Hat phát triển cho phép các nhà phát triển phát triển và triển khai các ứng dụng của họ trên cơ sở hạ tầng đám mây. Đây là bản phân phối cộng đồng của Kubernetes và cho phép các chu kỳ phát triển và phát hành ứng dụng nhanh hơn. Nó đi kèm với một giao diện web đơn giản và dễ sử dụng cho phép bạn theo dõi tài nguyên container, tình trạng container, các nút mà container nằm trên đó, địa chỉ IP của các nút, v.v.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt OpenShift Origin trên máy chủ Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 20.04.
  • Mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt Docker CE​

Trước tiên, bạn sẽ cần cài đặt Docker CE trong hệ thống của mình để chạy tất cả các dịch vụ OKD trong các container docker. Theo mặc định, phiên bản Docker CE mới nhất có sẵn trong kho lưu trữ mặc định của Ubuntu 20.04. Bạn có thể cài đặt bằng cách chỉ cần chạy lệnh sau:
Mã:
apt-get install docker.io -y
Sau khi Docker được cài đặt, hãy khởi động dịch vụ Docker và cho phép nó khởi động khi khởi động bằng lệnh sau:
Mã:
systemctl start docker[B]systemctl enable docker
Bạn cũng có thể xác minh trạng thái của dịch vụ Docker bằng lệnh sau:
Mã:
systemctl status docker
Bạn sẽ thấy đầu ra sau:
Mã:
? docker.service - Docker Application Container Engine Đã tải: đã tải (/lib/systemd/system/docker.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2020-05-29 12:25:47 UTC; 2 giây trướcĐược kích hoạt bởi: ? docker.socket Tài liệu: https://docs.docker.com PID chính: 48433 (dockerd) Nhiệm vụ: 10 Bộ nhớ: 36,5M CGroup: /system.slice/docker.service ??48433 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215078550Z" level=warning msg="Hạt nhân của bạn không hỗ trợ bộ nhớ hoán đổi l>29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215139097Z" level=warning msg="Hạt nhân của bạn không hỗ trợ cgroup blkio >Ngày 29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215169580Z" level=warning msg="Hạt nhân của bạn không hỗ trợ cgroup blkio >Ngày 29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215721944Z" level=info msg="Đang tải container: bắt đầu."Ngày 29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.418058547Z" level=info msg="Cầu nối mặc định (docker0) được gán với >29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.515158041Z" level=info msg="Đang tải container: xong."29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.545778830Z" level=info msg="Docker daemon" commit=afacb8b7f0 graphdriver(>29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.546068892Z" level=info msg="Daemon đã hoàn tất khởi tạo"29 tháng 5 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.599029431Z" level=info msg="API lắng nghe trên /run/docker.sock"29 tháng 5 12:25:47 ubuntu2004 systemd[1]: Đã khởi động Docker Application Container Engine.
Lúc này, Docker đã được cài đặt và đang chạy. Bây giờ bạn có thể tiến hành bước tiếp theo.

Tải xuống OpenShift Origin​

Tại thời điểm viết hướng dẫn này, phiên bản mới nhất của OpenShift Origin là v3.11.0. Bạn có thể tải xuống từ kho lưu trữ Git Hub bằng lệnh sau:
Mã:
wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
tar -xvzf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Tiếp theo, hãy thay đổi thư mục thành thư mục đã giải nén và sao chép các tệp nhị phân kubectl và oc vào thư mục /usr/local/bin.
Mã:
cd openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit
cp oc kubectl /usr/local/bin/
Tiếp theo, hãy xác minh cài đặt tiện ích máy khách OpenShift bằng lệnh sau:
Mã:
oc version
Bạn sẽ thấy đầu ra sau:
Mã:
oc v3.11.0+0cbc58bkubernetes v1.11.0+d4cacc0features: Basic-Auth GSSAPI Kerberos SPNEGO
Tiếp theo, bạn sẽ cần tạo một tệp daemon.json mới và cho phép sử dụng sổ đăng ký Insecure Docker.
Mã:
nano /etc/docker/daemon.json
Thêm dòng sau:
Mã:
{ "insecure-registries" : [ "172.30.0.0/16" ] }
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Docker để triển khai các thay đổi.
Mã:
systemctl restart docker

Khởi động OpenShif Origin Cluster​

Bây giờ, hãy khởi động cụm OpenShift Origin bằng cách chỉ định IP hệ thống của bạn:
Mã:
oc cluster up --public-hostname=your-server-ip
Sau khi máy chủ khởi động thành công, bạn sẽ nhận được kết quả sau:
Mã:
Đăng nhập vào máy chủ ...Đang tạo dự án ban đầu "myproject" ...Thông tin máy chủ ...Máy chủ OpenShift đã khởi động.Có thể truy cập máy chủ thông qua bảng điều khiển web tại: https://your-server-ip:8443Bạn đã đăng nhập với tư cách: Người dùng: nhà phát triển Mật khẩu: Để đăng nhập với tư cách quản trị viên: oc login -u system:admin[/b]
Bây giờ, hãy đăng nhập vào cụm của bạn với tư cách là người dùng quản trị viên bằng lệnh sau:
Mã:
oc login -u system:admin
Sau khi đăng nhập, bạn sẽ nhận được kết quả sau:
Mã:
Đã đăng nhập vào "https://your-server-ip:8443" với tư cách là "system:admin" bằng thông tin đăng nhập hiện có.Bạn có quyền truy cập vào các dự án sau và có thể chuyển đổi giữa chúng bằng 'oc project 
': default kube-dns kube-proxy kube-public kube-system * myproject openshift openshift-apiserver openshift-controller-manager openshift-core-operators openshift-infra openshift-node openshift-service-cert-signer openshift-web-consoleSử dụng dự án "myproject".
Tiếp theo, hãy chuyển sang dự án mặc định bằng lệnh sau:
Mã:
oc project default
Đầu ra:
Mã:
Bây giờ hãy sử dụng dự án "default" trên máy chủ "https://your-server-ip:8443".
Bây giờ, hãy xác minh trạng thái hiện tại của dự án bằng lệnh sau:
Mã:
oc status
Bạn sẽ nhận được đầu ra sau:
Mã:
Trong dự án mặc định trên máy chủ https://your-server-ip:8443svc/docker-registry - 172.30.1.1:5000 dc/docker-registry triển khai docker.io/openshift/origin-docker-registry:v3.11 triển khai #1 đã triển khai 2 phút trước - 1 podsvc/kubernetes - 172.30.0.1:443 -> 8443svc/router - 172.30.94.157 cổng 80, 443, 1936 dc/router triển khai docker.io/openshift/origin-haproxy-router:v3.11 triển khai #1 đã triển khai 2 phút trước - 1 podXem chi tiết bằng 'oc describe /' hoặc liệt kê mọi thứ bằng 'oc get all'.

Tạo dự án trên OpenShift​

Bây giờ, hãy đăng nhập vào OpenShift bằng người dùng nhà phát triển với lệnh sau:
Mã:
oc login
Bạn sẽ được yêu cầu cung cấp tên người dùng và mật khẩu như hiển thị bên dưới:
Mã:
Yêu cầu xác thực cho https://your-server-ip:8443 (openshift)Tên người dùng: developerMật khẩu:
Cung cấp tên người dùng là nhà phát triển và mật khẩu là nhà phát triển, sau đó nhấn Enter. Bạn sẽ thấy kết quả đầu ra sau:
Mã:
Đăng nhập thành công.Bạn có một dự án trên máy chủ này: "myproject"Sử dụng dự án "myproject".
Để tạo một dự án mới, hãy chạy lệnh sau:
Mã:
oc new-project dev --display-name="Project - Dev" --description="My Project"
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
Bây giờ sử dụng dự án "dev" trên máy chủ "https://your-server-ip:8443".Bạn có thể thêm các ứng dụng vào dự án này bằng lệnh 'new-app'. Ví dụ, hãy thử: oc new-app centos/ruby-25-centos7~https://github.com/sclorg/ruby-ex.gitđể xây dựng một ứng dụng ví dụ mới trong Ruby.

Truy cập OpenShift Web Console​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://your-server-ip:8443/console. Bạn sẽ thấy trang đăng nhập OpenShift:



Cung cấp tên người dùng và mật khẩu nhà phát triển của bạn, rồi nhấp vào nút Đăng nhập vào. Bạn sẽ thấy trang sau:



Nhấp vào nút Tạo Dự án. Bạn sẽ thấy trang sau:



Cung cấp tất cả thông tin bắt buộc và nhấp vào nút Tạo để tạo dự án mới.

Triển khai ứng dụng trên OpenShift Origin​

Trước tiên, hãy đăng nhập vào OpenShift bằng người dùng nhà phát triển bằng cách chạy lệnh sau:
Mã:
oc login
Đăng nhập bằng người dùng nhà phát triển như hiển thị bên dưới:
Mã:
Yêu cầu xác thực cho https://your-server-ip:8443 (openshift)Tên người dùng: developerMật khẩu:Đăng nhập thành công.Bạn có thể truy cập vào các dự án sau và có thể chuyển đổi giữa chúng bằng lệnh 'oc project 
': * dev my-project myprojectSử dụng dự án "dev".
Sau khi đăng nhập, hãy chuyển dự án sang my-project mà bạn đã tạo thông qua bảng điều khiển web OpenShift:
Mã:
oc project my-project
Đầu ra:
Mã:
Bây giờ sử dụng dự án "my-project" trên máy chủ "https://your-server-ip:8443".
Tiếp theo, hãy xác minh trạng thái của dự án hiện tại của bạn bằng lệnh sau:
Mã:
oc status
Đầu ra:
Mã:
Trong dự án My Project (my-project) trên máy chủ https://your-server-ip:8443Bạn không có dịch vụ, cấu hình triển khai hoặc cấu hình dựng nào.Chạy 'oc new-app' để tạo ứng dụng.
Tiếp theo, gắn thẻ hình ảnh ứng dụng từ sổ đăng ký Docker Hub bằng lệnh sau:
Mã:
oc tag --source=docker openshift/deployment-example:v2 deployment-example:latest
Đầu ra:
Mã:
Tag deployment-example:latest được đặt thành openshift/deployment-example:v2.
Tiếp theo, triển khai ứng dụng lên OpenShift bằng lệnh sau:
Mã:
oc new-app deployment-example
Bạn sẽ thấy đầu ra sau:
Mã:
--> Đã tìm thấy hình ảnh da61bb2 (4 năm tuổi) trong luồng hình ảnh "my-project/deployment-example" dưới thẻ "latest" cho "deployment-example" * Hình ảnh này sẽ được triển khai trong cấu hình triển khai "deployment-example" * Cổng 8080/tcp sẽ được cân bằng tải bởi dịch vụ "deployment-example" * Các vùng chứa khác có thể truy cập dịch vụ này thông qua tên máy chủ "deployment-example" * CẢNH BÁO: Hình ảnh "my-project/deployment-example:latest" chạy dưới dạng người dùng 'root' mà quản trị viên cụm của bạn có thể không cho phép--> Đang tạo tài nguyên ... deploymentconfig.apps.openshift.io "deployment-example" đã tạo dịch vụ "deployment-example" đã tạo--> Ứng dụng thành công không được hiển thị. Bạn có thể công khai các dịch vụ ra thế giới bên ngoài bằng cách thực hiện một hoặc nhiều lệnh dưới đây: 'oc expose svc/deployment-example' Chạy 'oc status' để xem ứng dụng của bạn.
Bây giờ, hãy xác minh trạng thái triển khai ứng dụng bằng lệnh sau:
Mã:
oc status
Bạn sẽ thấy đầu ra sau:
Mã:
Trong dự án My Project (my-project) trên máy chủ https://your-server-ip:8443svc/deployment-example - 172.30.87.146:8080 dc/deployment-example triển khai istag/deployment-example:latest implementation #1 đã triển khai 36 giây trước - 1 podĐã xác định được 2 thông tin, hãy sử dụng 'oc status --suggest' để xem chi tiết.
Để biết thông tin về dịch vụ của bạn, hãy chạy lệnh sau:
Mã:
oc get svc
Đầu ra:
Mã:
NAME LOẠI CLUSTER-IP EXTERNAL-IP PORT(S) AGEdeployment-example ClusterIP 172.30.87.146  8080/TCP 1m
Để biết thông tin chi tiết, hãy chạy lệnh sau:
Mã:
oc describe svc implementation-example
Đầu ra:
Mã:
Tên: implementation-exampleKhông gian tên: my-projectNhãn: app=deployment-exampleChú thích: openshift.io/generated-by=OpenShiftNewAppBộ chọn: app=deployment-example,deploymentconfig=deployment-exampleLoại: ClusterIPIP: 172.30.87.146Cổng: 8080-tcp 8080/TCPCổng mục tiêu: 8080/TCPĐiểm cuối: 172.17.0.10:8080Session Affinity: NoneEvents:
Bạn cũng có thể xác minh trạng thái Pod bằng lệnh sau:
Mã:
oc get pods
Đầu ra:
Mã:
NAME READY STATUS RESTARTS AGEdeployment-example-1-b9prf 1/1 Running 0 2m
Bây giờ, hãy hiển thị ứng dụng để truy cập bên ngoài bằng lệnh sau:
Mã:
oc expose service/deployment-example
Đầu ra:
Mã:
route.route.openshift.io/deployment-example exposed
Để hiển thị thông tin tuyến đường, hãy chạy lệnh sau:
Mã:
oc get routes
Bạn sẽ nhận được đầu ra sau:
Mã:
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARDdeployment-example implementation-example-my-project.your-server-ip.nip.io implementation-example 8080-tcp None

Xác minh quyền truy cập bên ngoài​

Bây giờ, ứng dụng của bạn đã sẵn sàng để truy cập bên ngoài. Mở trình duyệt web của bạn và nhập URL ở trên http://deployment-example-my-project.your-server-ip.nip.io. Bạn sẽ thấy ứng dụng của mình trên trang sau:



Nếu bạn muốn xóa ứng dụng của mình, hãy chạy lệnh sau:
Mã:
oc delete all -l app=deployment-example
Bạn sẽ thấy đầu ra sau:
Mã:
pod "deployment-example-1-b9prf" đã xóareplicationcontroller "deployment-example-1" đã xóaservice "deployment-example" đã xóadeploymentconfig.apps.openshift.io "deployment-example" đã xóaroute.route.openshift.io "deployment-example" đã xóa

Kết luận​

Trong bài viết này, chúng tôi đã cài đặt và định cấu hình thành công OpenShift Origin một nút trên Ubuntu 20.04. Bây giờ bạn có thể bắt đầu phát triển ứng dụng đầu tiên của mình trong môi trường OpenShift. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên