Các bạn đã biết về Docker và Kubernetes với những lợi ích của chúng trong việc phát triển, triển khai và chạy các ứng dụng trên môi trường production. Để việc sử dụng Docker và Kubernetes được thuận tiện và dễ dàng hơn, người ta đã giới thiệu một platform tên là OpenShift. OpenShift sẽ giúp chúng ta có thể dễ dàng tạo ra các Docker Image, dễ dàng tạo ra các Pods chứa một hoặc nhiều container từ các Docker Image đó với Kubernetes, dễ dàng triển khai các ứng dụng và monitor chúng. Trong bài viết này, mình sẽ hướng dẫn các bạn cài đặt OpenShift trên macOS sử dụng Docker và công cụ Command Line Interface oc các bạn nhé!
Để làm được điều này, điều đầu tiên chúng ta cần phải làm make sure Docker và công cụ oc đã được cài đặt trên máy của mình.
Một điểm mà các bạn cần lưu ý là các phiên bản mới nhất của Docker Desktop for Mac hiện tại đang có vấn đề với chức năng hỗ trợ Proxy dùng để pull hoặc push Docker Image lên các Docker Registry.
Trong quá trình triển khai một ứng dụng nào đó, OpenShift sẽ cần phải pull hoặc push Docker Image lên một OpenShift Docker Registry có IP là 172.30.1.1, các phiên bản mới nhất của Docker Desktop for Mac cố định thông tin về Proxy của Docker khi kết nối tới OpenShift Docker Registry này và không cho chúng ta by-pass địa chỉ IP này.
Chỉ có phiên bản 17.09.1-ce-mac42 là hoạt động bình thường với chức năng này.
Các bạn hãy download Docker Desktop for Mac phiên bản 17.09.1-ce-mac42 tại https://download.docker.com/mac/stable/21090/Docker.dmg và cài đặt nó nhé!
Của mình như sau:
Các bạn cần cấu hình tab Proxies by-pass IP 172.30.1.1 như sau:
Một điểm nữa các bạn cần làm để có thể cài đặt được OpenShift với phiên bản Docker này đó là các bạn cần tạo mới một folder tên là device-plugins ở đường dẫn /var/lib/kubelet/device-plugins và cấu hình nó vào tab File Sharing như sau nhé:
Nhớ set permission cho folder này nhé các bạn:
1 |
sudo chmod 777 /var/lib/kubelet/device-plugins |
Command Line Interface oc của mình như sau:
Tiếp theo, các bạn cần chạy câu lệnh oc cluster up để cài đặt OpenShift.
1 |
oc cluster up |
Khi chạy câu lệnh trên, có thể các bạn sẽ gặp lỗi sau trên macOS:
1 |
error: did not detect an --insecure-registry argument on the Docker daemon |
khi đó, các bạn có thể thêm một insecure-registry 172.30.0.0/16 vào tab Daemon của Docker:
rồi chạy lại câu lệnh trên.
Hoặc các bạn cũng có thể chạy câu lệnh oc cluster up như sau:
1 |
oc cluster up --skip-registry-check=true |
nếu không muốn thêm insecure registry 172.30.0.0/16 vào tab Daemon của Docker.
Nếu bị lỗi sau:
1 2 |
W0419 23:09:37.639104 1572 up.go:696] Port forwarding requires socat command line utility.Cluster public ip may not be reachable. Please make sure socat installed in your operating system. error: exec: "socat": executable file not found in $PATH |
thì hãy sử dụng Homebrew của macOS để cài đặt socat:
1 |
brew install socat |
Kết quả:
Bây giờ thì các bạn có thể login vào OpenShift sử dụng công cụ oc hoặc web console rồi!
Với công cụ oc thì các bạn sử dụng câu lệnh command sau:
1 |
oc login -u developer -p developer |
Nếu sử dụng web console thì các bạn hãy mở trình duyệt rồi đi đến địa chỉ sau: https://127.0.0.1:8443/console/. Các bạn sẽ thấy màn hình đăng nhập như sau:
Sử dụng user là developer với mật khẩu là ký tự bất kỳ để login, các bạn sẽ thấy kết quả như sau:
Đến đây là chúng ta đã hoàn thành việc cài đặt OpenShift rồi đó các bạn.