Skip to end of metadata
Go to start of metadata

 

Do instalacji PlusWorkflow klient powinien zapewnić:

PostgreSQL lub SQL server

Storage account

Container registry

Klient musi posiadać obraz systemu PlusWorkflow w swoim rejestrze kontenerów(Container registry), aby taki obraz przesłać do klienta należy skopiować go ze swojego Dockera poleceniami

#wyświetli nasze obrazy, znajdziemy tam imageID
docker images
#zapis obrazu z imageID do wybranej ścieżki
docker save imageID > /home/archiveName.tar 
#wczytanie u Klienta obrazu
docker load < /home/archiveName.tar
#logowanie do rejestru kontenerów klienta
docker login pwflregistry.azurecr.io
#tagowanie wczytanego obrazu
docker tag plusworkflow pwflregistry.azurecr.io/suncode/plusworkflow_new
#umieszczanie obrazu w rejestrze kontenerów klienta
docker push pwflregistry.azurecr.io/suncode/plusworkflow_new


Gdy mamy już to wszystko stworzone wystarczy uzupełnić plik .json o dane:

"pwflw9" - należy zmodyfikować wszystkie wystąpienia w pliku na nazwę Instancji wedle wymagań klienta
"image" - należy podać ścieżkę odpowiadającą rejestrowi kontenerów i wcześniej wrzuconym obrazem z dockera
"imageRegistryCredentials" - wartościami server czyli link do rejestr kontenerów, username i password znajdziemy we właściwościach rejestru
"azureFile" - należy wprowadzić nazwę zasobów, nazwe konta Storage oraz jego klucz który znajdziemy we właściwościach Storage 
 
.json
{

    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",

    "contentVersion": "1.0.0.0",

    "parameters": {

        "containerGroups_pwflw9_name": {

            "defaultValue": "pwflw9",

            "type": "String"

        }

    },

    "variables": {},

    "resources": [

        {

            "type": "Microsoft.ContainerInstance/containerGroups",

            "apiVersion": "2019-12-01",

            "name": "[parameters('containerGroups_pwflw9_name')]",

            "location": "westeurope",

            "properties": {

                "sku": "Standard",

                "containers": [

                    {  
                        "name": "[parameters('containerGroups_pwflw9_name')]",

                        "properties": {

                            "image": "pwflregistry.azurecr.io/suncode/plusworkflow_new",

                            "ports": [

                                {

                                    "protocol": "TCP",

                                    "port": 8080

                                }

                            ],

                            "environmentVariables": [],

                            "resources": {

                                "requests": {

                                    "memoryInGB": 1.5,

                                    "cpu": 1

                                }

                            },

                            "volumeMounts": [

                                {

                                    "name": "azurefile",

                                    "mountPath": "/usr/local/tomcat/webapps/PlusWorkflow Home/"

                                }

                            ]

                        }

                    }

                ],

                "initContainers": [],

                "imageRegistryCredentials": [

                    {

                        "server": "xxxxregistry.azurecr.io",

                        "username": "xxxxregistry",

			"password": "password"

                    }

                ],

                "restartPolicy": "Always",

                "ipAddress": {

                    "ports": [

                        {

                            "protocol": "TCP",

                            "port": 8080

                        }

                    ],

			

                    "ip": "20.73.232.39",

                    "type": "Public",

                    "dnsNameLabel": "[parameters('containerGroups_pwflw9_name')]"

                },

                "osType": "Linux",

                "volumes": [

                    {

                        "name": "azurefile",

                        "azureFile": {

                            "shareName": "suncodedockerstorage",

                            "storageAccountName": "storagexxx",

                "storageAccountKey": "storageAccountKey"

                        }

                    }

                ]

            }

        }

    ]

}

 

Aby zacząć instalację należy zalogować się w Azure CLI, znajdować się w odpowiedniej lokalizacji przy pliku .json bądź go wskazać komendą

az deployment group create --resource-group pwfl_docker --template-file deploy-aci.json

Po chwili powinno zacząć się budowanie systemu, a po paru minutach system będzie dostępny w Azure.

Na screenie niżej zbudowane 3 systemy oraz ich komponenty, instalacja u klienta powinna wyglądać podobnie, gdy otworzymy nowo powstałą instancje kontenera możemy sprawdzić czy system PlusWorkflow uruchomił się poprawnie, możemy sprawdzić to w logach lub wchodząc na adres publiczny instancji, jeśli wszystko jest poprawnie należy podłączyć bazę danych oraz dodać adres IP do reguł bazy, aby nie był blokowany. 

Zbudowany system oraz komponenty

 

  • No labels