Phần 2: Cấu hình Portainer – Giám sát Docker trên remote host
Bạn cần một công cụ quản lý Docker Container với giao diện trực quan, dễ triển khai, dễ sử dụng. Bài viết này sẽ giới thiệu và hướng dẫn cách cài đặt và cấu hình Portainer, công cụ quản lý Docker với giao diện web trực quan và chi tiết.
Portainer là gì?
Portainer là công cụ quản lý Docker Containter miễn phí với kích thước gọn nhẹ và giao diện quản lý trực quan, đơn giản để triển khai cũng như sử dụng, cho phép người dùng dễ dàng quản lý Docker host hoặc Swarm cluster. Công cụ này hoạt động trên một container được triển khai trên Docker Engine (tương thích với phiên bản 1.9 trở lên, hỗ trợ trên cả Linux và Windows). Bạn đọc có thể tham khảo thêm thông tin của Portainer tại trang chủ của Portainer hoặc repository của Portainer trên Github.
Portainer cho phép người dùng quản lý Docker stack, container, image, volume, network,… Bạn có thể trải nghiệm bản demo của Portainer tại trang http://demo.portainer.io/ (tài khoản đăng nhập mặc định là admin / tryportainer. Lưu ý: trang demo sẽ tự động reset sau mỗi 15 phút). Portainer cũng đang trong quá trình phát triển và thử nghiệm việc tích hợp quản lý Kubernetes với phiên bản BETA v2 (tính tới thời điểm hiện tại – 08/2020). Bạn có thể xem chi tiết tại đây.
Cấu hình Portainer và kết nối đến remote host
Lưu ý: Bài viết này sẽ hướng dẫn bạn đọc cách cài đặt Portainer để quản lý Docker trên remote host. (Nếu đã cài đặt / triển khai Portainer từ trước, bạn có thể xem từ bước 4.2)
1. Tạo Docker Volume để lưu trữ thông tin
docker volume create portainer_data
2. Tạo Docker Container từ image Portainer
docker container run -d --name portainer -p 8080:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer
3. Expose Docker API trên remote host
Để Portainer có thể kết nối đến remote host thì người dùng cần phải expose port của Docker API (mặc định là 2375) để có thể kết nối và quản lý Docker từ xa.
3.1 Điều chỉnh cấu hình của Docker trên remote host
sudo nano /lib/systemd/system/docker.service
Ở mục “ExecStart” thêm trường “-H=tcp://0.0.0.0:2375” để export Docker API ra ngoài Internet. Lưu ý, cấu hình “0.0.0.0” đồng nghĩa với việc bạn sẽ expose Docker trên host ra ngoài Internet, bất kỳ ai cũng có thể truy cập được.
3.2 Restart docker daemon và container
systemctl daemon-reload sudo service docker restart
4. Truy cập trang Prontainer bằng trình duyệt với đường dẫn (URL) là: http://<địa chỉ IP host>:<port>
4.1. Nếu bạn chưa cài đặt / triển khai Portainer:
4.1.1. Portainer sẽ yêu cầu người dùng thiết lập mật khẩu của tài khoản admin.
4.1.2. Chọn “Remote” để kết nối đến Docker remote host thông qua Docker API
4.1.2 Điền thông tin của remote host sau đó nhấn “Connect” để vào trang Dashboard.
4.2. Nếu bạn đã cài đặt / triển khai Portainer từ trước:
4.2.1. Chọn “Endpoints” ở menu bên trái.
4.2.2. Chọn “Add Enpoints” để tạo kết nối mới đến remote host.
4.2.3. Chọn “Docker” để kết nối đến remote host thông qua Docker API
4.2.4. Điền thông tin của host và chọn “Add endpoint” để tạo kết nối đến remote host.
Trong đó:
- Name: tên của endpoint bạn muốn kết nối
- Endpoint URL: địa chỉ IP hoặc domain + port Docker API của remote host
- Public IP: địa chỉ IP hoặc domain của remote host.
4.3. Thông tin các host sau khi kết nối thành công sẽ hiển thị ở menu”Endpoints”.
5. Xem thông tin Docker trên host đã kết nối
Để xem thông tin của từng host đã kết nối, bạn đọc vào menu “Home” ở bên trái. Trang web sẽ hiển thị danh sách các host đã được kết nối. Nhấn chọn host bạn muốn truy cập dựa vào danh sách đang hiển thị để truy cập vào trang quản lý thông tin của host đó.
Chúc bạn thành công!
Nguồn tham khảo:
- Portainer.io
- Medium
Trung tâm đào tạo Viễn thông và Công nghệ thông tin TEL4VN (TEL4VN) chuyên đào tạo các khóa học về DevOps như: Docker, Kubernetes, Ansible, Jenkins, Linux…….Ngoài ra, TEL4VN còn là Trung tâm đào tạo duy nhất về VoIP mã nguồn mở. 🌐Website: https://tel4vn.edu.vn/ |