Cài đặt và sử dụng private registry trong bộ tích hợp của Microk8s

Tram Ho

Trước tiên thì hệ thống mình hướng dẫn trong series sẽ triển khai trong moi trường VM và các image sẽ không public ra Internet nên mình sử dụng private registry

Kích hoạt registry

Mình ssh vào VM stg-02 (10.19.2.92) để thực hện, vai trò con stg-02 hiện giờ đang đóng vai trò Master

Sau khi login vào stg-02 thành công ta tiến hành kích hoạt registry bằng lệnh

image.png

Sau khi kích hoạt registry thì persistent volume mặt định là 20G dùng để lưu trữu images, tuy nhiên bạn có thể cấp thêm để phù hợp với ứng dụng của bạn

Cách sử dụng Private Registry

  1. Cài đặt Docker Engine trên ubuntu 22.04 (các bạn tham khảo thêm ở nguồn https://docs.docker.com/engine/install/ubuntu/)
  • Gỡ cài đặt phiên bản cũ

Thiết lập repository

  • Cập nhật chỉ mục gói apt và cài đặt các gói để cho phép apt sử dụng kho lưu trữ qua HTTPS:
    sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release
  • Thêm khóa GPG chính thức của Docker:

  • Sử dụng lệnh để thiết lập repository

Cài đặt Docker Engine

  1. Cập nhât các gói apt

  1. Cài đặt Docker Engine, containerd và Docker Compose.

Cấu hình Insecure registry (Cho phép push image không cần SSL)

Ở máy build và máy push từ Docker chúng ta cần thêm cấu hình ở file /etc/docker/daemon.json

thêm đoạn cấu hình vào

image.png

Lưu lại và khởi động lại service docker

Bây giờ ta test cấu hình theo các bước:

  1. Pull image Nginx

image.png

  1. tag file image nginx -> 10.19.2.92:32000/big-dog-nginx

image.png

  1. Push image 10.19.2.92:32000/big-dog-nginx lên registry

image.png

Cấu hình microk8s

Microk8s 1.23 và các phiên bản mới hơn sử dụng các tệp máy chủ riêng biệt cho mỗi đăng ký hình ảnh. Đối với Cơ quan đăng ký http://10.19.2.92:32000, tiệp cấu hình sẽ ở /var/snap/microk8s/current/args/certs.d/10.19.2.92:32000

Đầu tiên, hãy tạo thư mục và tiệp nếu nó không tồn tại:

Sau đó, chỉnh sửa tệp bạn vừa tạo và đảm bảo đúng nội dung như sau:

image.png

Lưu lại và khởi động lại dịch vụ microk8s

Deploy và test image mới push

  1. Tạo tiệp big-dog-nginx-all.yaml

  1. Run file big-dog-nginx-all.yaml

image.png

Có 2 cách để test:

  1. Vào port 30039 để kiểm tra : http://10.19.2.92:30039

image.png

  1. run dashboard để kiểm tra

image.png

image.png

Nếu bạn thấy bài chia sẽ này hay xin hãy cho mình một like và đăng ký để ủng hộ mình nhé.
Cảm ơn các bạn nhiều

Link github để các bạn copy cho nhanh các tiệp

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo