Tìm kiếm Blog này

Translate

Thứ Sáu, 13 tháng 11, 2020

Portainer

 

Thiết lập môi trường

Trong phạm vi bài này, chúng ta sẽ thực hành trên môi trường Linux, Ubuntu 20.04 LTS.

Nếu server chưa cài đặt docker, download file ubuntu.sh tại đây và chạy câu lệnh như sau:


ubuntu@single-docker:~$ sh ubuntu.sh

# Logout và login server

ubuntu@single-docker:~$ docker version

Client: Docker Engine - Community

 Version:           19.03.13

 API version:       1.40

 Go version:        go1.13.15

 Git commit:        4484c46d9d

 Built:             Wed Sep 16 17:02:52 2020

 OS/Arch:           linux/amd64

 Experimental:      false

 

Server: Docker Engine - Community

 Engine:

  Version:          19.03.13

  API version:      1.40 (minimum version 1.12)

  Go version:       go1.13.15

  Git commit:       4484c46d9d

  Built:            Wed Sep 16 17:01:20 2020

  OS/Arch:          linux/amd64

  Experimental:     false

 containerd:

  Version:          1.3.7

  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175

 runc:

  Version:          1.0.0-rc10

  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd

 docker-init:

  Version:          0.18.0

  GitCommit:        fec3683

Cài đặt Portainer

Standalone server

$ docker volume create portainer_data

$ docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce


Swarm Cluster

$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml

$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer


Portainer cơ bản


Tiếp theo, chúng ta mở trình duyệt vào phần admin của Portainer như sau http://localhost:9000 hoặc http://[server-ip-address]:9000


Lần đầu sử dụng, Portainer sẽ yêu cầu đặt mật khẩu cho administrator



Thiết lập kết nối đến container environment



Nếu thành công, bạn sẽ thấy giao diện admin như sau:


Một số chức năng quản lý chính

  1. Quản lý Team/User

  2. Endpoints: local, docker, docker swarm, kubernetes, edge, aci

  3. Registries: hỗ trợ quay.io, azure, gitlab, hoặc custom


Nhìn chung, giao diện admin khá dễ hiểu, rõ ràng, không quá phức tạp. Phù hợp cho những hệ thống vừa và nhỏ, không cần automation, restoration…

Docker và Swarm

  1. Stacks: [Chỉ có trên Swarm] triển khai và quản lý nhiều services cúng một lúc. Hỗ trợ tạo file docker-compose.yml trực tiếp trên web. Ngoài ra, chúng ta có thể upload từ máy tính, hoặc từ git repository.

  1. Webhooks: tự động update service khi image được cập nhật

  1. Containers: deploy container trực tiếp bằng UI

  2. App Templates: deploy stack từ mẫu có sẵn, Portainer cũng cung cấp công cụ để tự tạo template riêng.

  1. Images: quản lý Docker image trực tiếp bằng Portainer

  1. Networks: quản lý và thiết lập network cho containers, hỗ trợ các loại sau: Bridge, Macvlan, Overlay, Ipvlan

  2. Services: hiện chỉ hỗ trợ swarm mode

  3. Volumes: quản lý vùng chứa, cho phép download hoặc upload trực tiếp.

  4. Configs: quản lý tập trung dữ liệu không bảo mật, có thể xem là cập nhật bằng UI, chỉ hỗ trợ swarm mode

  5. Secrets: giúp quản lý dữ liệu cần bảo mật, không xem được trực tiếp trên UI, chỉ hỗ trợ swarm mode

Kubernetes

  1. Applications: hỗ trợ triển khai application bằng UI và YAML file.

  2. Resource Pools: tương đương khái niệm namespace

  3. Volumes: hiện chỉ hỗ trợ xem thông tin cơ bản

  4. Configurations: tương đương ConfigMapsSecrets trong kubernetes

  5. Clusters: thông tin  trạng thái của Cluster như dung lượng bộ nhớ đã sử dụng/, cpu


Triển khai demo website

  1. Pull nginx image từ Docker Hub

  1. Tạo docker volume

  1. Tạo container

  1. Mở trình duyệt tới url http://localhost:8080 hoặc http://[server-ip-address]:8080 chúng ta sẽ thấy màn hình Welcome của NGINX

  1. Upload demo website lên volume nginx-volume-demo

Trong phần quản lý volume của Portainer cho chúng ta biết đường dẫn tương ứng trên HOST của volume nginx-volume-demo là /var/lib/docker/volumes/nginx-volume-demo/_data

Chúng ta sẽ sử dụng 1 theme website bất kỳ và upload lên folder bên trên. Bạn có thể download tại đây.

  1. Reload trình duyệt để xem kết quả nhé!

Giờ đây chúng ta không còn thấy màn hình Welcome của NGINX nữa, thay vào đó là trang Landing Page vừa được upload lên.

CHÚC CÁC BẠN THÀNH CÔNG!


Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến