步驟一. 安裝dolibarr開源ERP系統
dolibarr的數據存儲可選mysql或postgres,在??使用Solopace.Gem訪問k8s部署的CMS系統??一文中,我們在kubernetes集群中部署運行了一個單實例的mysql服務,在這里我們選擇直接復用之前部署的mysql數據庫。
創建dolibarr的程序用戶和數據庫
create database dolibarr_db default character set utf8mb4 collate utf8mb4_unicode_ci; grant all privileges on dolibarr_db.* to 'dolib'@'%' identified by '自定義密碼'; alter user 'dolib'@'%' identified with mysql_native_password by '自定義密碼';
創建dolibarr on k8s部署清單
1.deployment資源
注意:如果要將dolibarr與mysql部署在不同的名稱空間,則變量DOLI_DB_HOST的值應該為mysql service的完整FQDN,如:svc-mysql..svc.cluster.local
apiVersion: apps/v1 kind: Deployment metadata: name: deploy-dolibarr labels: app: dolibarr spec: replicas: 1 selector: matchLabels: app: dolibarr template: metadata: labels: app: dolibarr spec: initContainers: - name: initsysctl image: busybox command: - sh - -c - | sysctl -w net.ipv4.tcp_keepalive_time=600 sysctl -w net.ipv4.tcp_keepalive_intvl=30 sysctl -w net.ipv4.tcp_keepalive_probes=10 securityContext: privileged: true containers: - name: dolibarr image: tuxgasy/dolibarr ports: - containerPort: 80 livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 lifecycle: preStop: exec: command: ["/bin/sh","-c","/usr/bin/php /var/www/html/core/scripts/stop.php"] env: - name: DOLI_DB_HOST value: svc-mysql - name: DOLI_DB_PORT value: '3306' - name: DOLI_DB_NAME value: dolibarr_db - name: DOLI_DB_USER value: doli - name: DOLI_DB_PASSWORD valueFrom: secretKeyRef: name: sec-doli-dbpass key: MYSQL_DOLI_PASSWORD - name: DOLI_URL_ROOT value: 'http://0.0.0.0' - name: PHP_INI_DATE_TIMEZONE value: 'Asia/Shanghai' resources: limits: cpu: 500m memory: 1Gi requests: cpu: 100m memory: 256Mi
2.secret資源,用戶將dolibarr連接mysql的密碼加密存儲
注意:MYSQL_DOLI_PASSWORD的值應該是真實密碼的base64轉碼
apiVersion: v1 kind: Secret metadata: name: sec-doli-dbpass labels: dbtype: mysql app: dolibarr type: Opaque data: MYSQL_DOLI_PASSWORD:
3.service資源
apiVersion: v1 kind: Service metadata: name: svc-dolibarr labels: app: dolibarr spec: type: NodePort ports: - port: 80 targetPort: 80 name: http selector: app: dolibarr
應用資源清單部署dolibarr
kubectl apply -f secret.yaml kubectl apply -f deployment.yaml kubectl apply -f service.yaml
檢查服務運行狀態
執行命令:
kubectl get pods -A -l 'app=dolibarr'
當返回結果中STATUS列為Running時候,代表部署成功
內網訪問ERP
獲取dolibarr service的主機端口:
kubectl get svc -A -l 'app=dolibarr'
可以看到這里的對外暴露的端口是31810,此時在內網環境下直接訪問k8s任意節點的ip:31810即可訪問dolibarr的web控制臺
使用初始賬號密碼:admin/admin登錄即可
步驟二. 遠程訪問內網ERP
此時如果我們需要在家或則異地訪問部署在內網環境的ERP系統的話,下面介紹一種方便快捷的解決方案:
??Solopace.Gem傳送門下載地址??
服務端安裝SolopaceGem
Kubernetes本身具有容器運行環境,因此我們選擇最簡單方便的Docker來安裝SolopaceGem,在任意一臺k8s集群節點中:
執行以下命令啟動SolopaceGem Docker客戶端
sudo docker run -d --name=SolopaceGem -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --restart=always --cap-add=NET_ADMIN --cap-add=NET_RAW doaction/solopacegem:latest
獲取SolopaceGem組網鏈接
sudo docker exec SolopaceGem solopacegem status
復制組網鏈接地址至瀏覽器打開
創建組網并加入
成功加入組網
在客戶端上安裝SolopaceGem
下載SolopaceGem客戶端
在需要遠程訪問內網ERP系統的PC上訪問官網下載適用于您設備系統的客戶端。
官網:??首頁-Solopace.Gem傳送門??
下載完成后,按照提示進行安裝即可。
安裝后登錄/注冊(未注冊用戶將會自動注冊)
此處使用之前安裝Docker客戶端是注冊的賬號登錄
客戶端加入組網
登錄后選擇已有網絡ID,將會自動列出之前創建的網絡
?選擇網絡ID并加入即可
連接網絡
當在在線設備列表中看到當前客戶端與Kubernetes Docker客戶端都處于在線狀態時,說明組網成功。
通過Solopace.Gem組網IP訪問
當組網成功之后,我們只需要將之前的內網IP改為Solopace.Gem為Docker客戶端分配的組網IP加端口的形式,即可實現遠程訪問內網的ERP系統啦!
審核編輯 黃宇
-
ERP
+關注
關注
0文章
510瀏覽量
34477 -
組網
+關注
關注
1文章
359瀏覽量
22416 -
遠程訪問
+關注
關注
0文章
40瀏覽量
7925 -
內網
+關注
關注
0文章
38瀏覽量
9016
發布評論請先 登錄
相關推薦
評論