Hướng dẫn Setup vSAN (P3) – Deploy Code

Mô hình:

– user – project cũ: thanhtri

– user – project mới: h2cloud

– Khách hàng H2Cloud: Sẽ sử dụng 2 dải 192.168.2.0 thuộc VLAN 207 và dải 192.168.3.0 thuộc VLAN 210

Chú thích:

# thực thi trong /root

$ thực thi trong môi trường của user

> thực thi trong DB

B1: SSH vào server deploy để triển khai project

B2: Chuẩn bị môi trường

– Kiểm tra version python, phải từ 3.10 trở lên

– Kiểm tra đã cài đặt Maria DB chưa

B3: Tạo user cho project mới

adduser <tên user viết thường>

# adduser h2cloud

B4: Tạo user mới trong DB

# mysql -u root -p -e

> grant all privileges on h2cloud.* to ‘h2cloud’@’localhost’ identified by ‘H2Cloud@@1234!@#$’;

> flush privileges;

> exit()

B5: Tạo env cho project của user vừa tạo (user h2cloud):

# su – h2cloud

$ python3.10 -m venv env

$ echo “source env/bin/activate” >> /home/h2cloud/.bash_profile

B6: Cài đặt các gói package cho project

Nếu trong server đã có project đã deploy thì copy requirements.txt từ project cũ -> project mới

# su – thanhtri

$ pip freeze > requirements.txt

$ logout

# cp /home/thanhtri/requirements.txt /home/h2cloud/

# chown h2cloud. /home/h2cloud/requirements.txt

# usermod -a -G h2cloud nginx

# su – h2cloud

$ pip install -r requirements.txt

B7: Tạo project mới

# django-admin startproject h2cloud

# cd /home/h2cloud/h2cloud

# django-admin startapp h2cloud

# su – h2cloud

$ /home/h2cloud/h2cloud/manage.py createsuperuser (tiếp tục tạo superuser với tên là h2cloud)

B8: Cấu hình gunicorn cho project mới

#cat <<EOF>>/etc/systemd/system/h2cloud.service

[Unit]

Description=H2Cloud Gunicorn Daemon

After=network.target

[Service]

User=h2cloud

Group=nginx

WorkingDirectory=/home/h2cloud/h2cloud

ExecStart=/home/h2cloud/env/bin/gunicorn –workers 2 –bind unix:/home/h2cloud/h2cloud/h2cloud.sock –access-logfile/var/log/gunicorn/h2cloud-access.log –error-logfile /var/log/gunicorn/h2cloud-error.log –log-level critical –limit-request-line 0 h2cloud.wsgi:application –timeout 300

[Install]

WantedBy=multi-user.target

EOF

B9: Tạo file log cho gunicorn project mới

# cd /var/log/gunicorn/

# touch h2cloud-access.log h2cloud-error.log

# chown h2cloud.nginx h2cloud-*

B10: Truy cập vào server DNS Cloudzone để khai báo tên miền cho project mới h2cloud.cloudzone.vn

B11: Tạo một project django h2cloud trên Pycharm ở máy local

B12: Dùng WinSCP kết nối đến server deploy ở B1 để tải code từ project cũ là project thanhtri -> project h2cloud ở máy local

B13: Sau đã tải code được xuống project django h2cloud ở local, tiếp theo thay đổi các cấu hình và tên từ project thanhtri -> project h2cloud

B14: Sau khi đã sửa xong, trên Pycharm dùng Deployment để upload code lên Server Deploy

Root Path: /home/h2cloud/h2cloud

B15: Chạy Project h2cloud

# su – h2cloud

$ manage.py makemigrations

$ manage.py migrate

# systemctl daemon-reload

# systemctl start h2cloud

# systemctl status h2cloud

—> Sau khi start xong truy cập web /admin xem được chưa

B16: Tạo file task và beat để chạy các tasks,services ở mode background

# cd /etc/supervisord.d/

# cp thanhtri-tasks.conf h2cloud-tasks.conf

# cp thanhtri-beat.conf h2cloud-beat.conf

# vi h2cloud-tasks.conf

# :%s/thanhtri/h2cloud/g                 (Lệnh này dùng để dùng sed thay đổi giá trị thanhtri -> h2cloud)

# :x!

# vi h2cloud-beat.conf

# :%s/thanhtri/h2cloud/g

# :x!

# systemctl restart supervisord

# supervisorctl status

# crontab -e

# 25 4 * * * systemctl restart h2cloud             (Thêm crontab cho project mới)

B17: Ở máy local mở Navicat và truy cập vào DB

Tạo một DB h2cloud và copy các data ở DB thanhtri -> DB h2cloud

B18: Ở trong tables portal_templates thay đổi các giá trị Name, UUID theo UUID của vCenter H2Cloud

B19: Thay đổi giá trị trong tables vps_subnet

Như trong VD này h2cloud sử dụng 2 subnet 192.168.2.0 và 192.168.3.0 -> kiểm tra VLAN ID trong Subnet Tạo ở Dashboard

B20: add vlan của 2 subnet mới vào Switch chung

– Kiểm tra trong Switch đã có Vlan thuộc dải 192.168.2.0 và 192.168.3.0 hay chưa, bằng lệnh sau:

sh vlan brief | include 207

sh vlan brief | include 210

– Add 2 VLAN vào cả 3 port-channel 

conf t

int po1-3

switchport trunk allowed vlan add 207,210

sh port-channel sum            # để kiểm tra lại

copy running-config startup-config        # Lưu code vào startup config

Was this article helpful?

Hướng dẫn liên quan

Leave A Comment?