1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jonluo-baasmanager

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
sample.md 6.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 00:54 e6122bf

Пример простого развёртывания (простой пример с 3 виртуальными машинами CentOS, включая одну NFS и два кластера K8s)

  1. Создание кластеров K8s
  • Развёртывание кластеров Kubernetes (K8s) на основе k8s-cluster.
  1. Развёртывание k8s-master и baas-kubeengine на одной виртуальной машине CentOS

    • Заменить файл $HOME/.kube/config в каталоге kubeconfig/config.
    • Изменить файл конфигурации keconfig.yaml.
  2. Развёртывание сервера NFS и baas-fabricengine на одной виртуальной машине CentOS

    • Создать корневой каталог baas.
    • Скопировать шаблон baas-template в этот каталог.
    • Создать общий каталог NFS baas-nfsshared.
    • Изменить файл конфигурации feconfig.yaml.
    • Установить и настроить NFS:
      • yum -y install nfs-utils rpcbind.
      • id (для просмотра текущего uid и gid пользователя).
      • vim /etc/exports (добавить конфигурацию и внести соответствующие изменения):
        /baas корневой каталог/baas-nfsshared 192.168.1.0/24(rw,sync,insecure,anonuid=текущий пользовательский uid,anongid=текущий пользовательский gid)
      • exportfs -r (чтобы конфигурация вступила в силу).
      • service rpcbind start && service nfs start (запустить службы rpcbind и nfs).
    • Запустить baas-fabricengine.
  3. Развертывание baas-gateway на любой из виртуальных машин CentOS

    • Установить MySQL:
      docker run -p 3306:3306 --name apimysql \
                 -e MYSQL_ROOT_PASSWORD=123456 \
                 -d mysql:5.7
    • Инициализировать MySQL через mysql.sql и соответствующим образом изменить dbconfig.yaml.
    • Изменить файл конфигурации gwconfig.yaml.
    • Запустить baas-gateway.
  4. Развертывание baas-frontend на любой из виртуальных машин CentOS

    • Скомпилировать с помощью npm run build:prod.
    • Развернуть с использованием nginx, скопировав папку dist после сборки в /usr/share/nginx/baas и переименовав её.
    • Настроить nginx.conf для обратного проксирования (соответствующим образом изменив адрес baas-gateway):
      user www-data;
      worker_processes auto;
      pid /run/nginx.pid;
      
      events {
      	worker_connections 768;
      	# multi_accept on;
      }
      
      http {
          include       mime.types;
          default_type  application/octet-stream;
      
          log_format  logformat  '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for" '
                        '"[$request_time]" "[$upstream_response_time]" '
                        '"[$connection]" "[$connection_requests]" '
                        '"$http_imei" "$http_mobile" "$http_type" "$http_key" "$cookie_sfpay_jsessionid"';
          access_log  /var/log/nginx/access.log logformat;
      
      
          sendfile        on;
          #tcp_nopush     on;
          underscores_in_headers on;
      
          keepalive_timeout  65;
          proxy_connect_timeout 120;
          proxy_read_timeout 120;
          proxy_send_timeout 60;
          proxy_buffer_size 16k;
          proxy_buffers 4 64k;
          proxy_busy_buffers_size 128k;
          proxy_temp_file_write_size 128k;
          proxy_temp_path /tmp/temp_dir;
          proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
      
          client_header_buffer_size 12k;
          open_file_cache max=204800 inactive=65s;
          open_file_cache_valid 30s;
          open_file_cache_min_uses 1;
      
      
          gzip  on;
          gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png image/jpg;
          # baas-gateway адрес
          upstream baasapi {
              server 127.0.0.1:6991;
          }
      
         
          # HTTP сервер
          #
          server {
              listen       8080;
              server_name  baasadmin;
      
              location /nginx_status {
                      stub_status on;
                      access_log off;
              }
              location /api/{
                  proxy_pass  http://baasapi/api/;
                  proxy_set_header  X-Real-IP  $remote_addr;
                  proxy_set_header Host $host;
      
              }
              location /dev-api/{
                  proxy_pass  http://baasapi/api/;
                  proxy_set_header  X-Real-IP  $remote_addr;
                  proxy_set_header Host $host;
      
              }
              location /stage-api/{
                  proxy_pass  http://baasapi/api/;
                  proxy_set_header  X-Real-IP  $remote_addr;
                  proxy_set_header Host $host;
      
              }
      
              location / {
                  root   baas;
                  index  index.html index.htm;
              }
      
              location ~ ^/favicon\.ico$ {
                  root   baas;
              }
             
          }
      }
    * Запустить nginx:
        ``` 
        sudo service nginx start
        ```
    * Посетить http://ip:8080.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jonluo-baasmanager.git
git@api.gitlife.ru:oschina-mirror/jonluo-baasmanager.git
oschina-mirror
jonluo-baasmanager
jonluo-baasmanager
master