Működés zárolt hálózaton
A CycleCloud alkalmazás és a fürtcsomópontok korlátozott internet-hozzáféréssel rendelkező környezetekben is működhetnek, bár minimális számú TCP-portnak nyitva kell maradnia.
Az Azure CycleCloud telepítése zárolt hálózaton
A CycleCloud virtuális gépnek képesnek kell lennie több Azure API-hoz csatlakozni a fürt virtuális gépeinek vezényléséhez és az Azure Active Directoryban való hitelesítéshez. Mivel ezek az API-k HTTPS-t használnak, a CycleCloudnak kimenő HTTPS-hozzáférésre van szüksége a következőkhöz:
- management.azure.com (Azure ARM-felügyelet)
- login.microsoftonline.com (Azure AD)
- watson.telemetry.microsoft.com (Azure-telemetria)
- dc.applicationinsights.azure.com (Azure-alkalmazás Insights)
- dc.applicationinsights.microsoft.com (Azure-alkalmazás Insights)
- dc.services.visualstudio.com (Azure-alkalmazás Insights)
- ratecard.azure-api.net (Azure Price Data)
A felügyeleti API régiónként van üzemeltetve, és a nyilvános IP-címtartományok itt találhatók.
A Azure AD bejelentkezés a Szolgáltatáshoz tartozó Microsoft 365 gyakori API-k és IP-címtartományok részét képezi.
Az Azure Insights és a Log Analytics IP-címtartományai itt találhatók.
Az Azure CycleCloudnak hozzá kell tudnia férni az Azure Storage-fiókokhoz. A szolgáltatáshoz és más támogatott Azure-szolgáltatásokhoz való privát hozzáférés ajánlott módja Virtual Network szolgáltatásvégpontokon keresztül érhető el.
Ha hálózati biztonsági csoportokat vagy Azure Firewall használ a szükséges tartományokhoz való kimenő hozzáférés korlátozására, akkor az Azure Cyclecloud konfigurálható úgy, hogy az összes kérést EGY HTTPS-proxyn keresztül irányazhassa át. Lásd: Webproxy használata
Azure hálózati biztonsági csoport konfigurálása a CycleCloud virtuális géphez
A CycleCloud virtuális gépről érkező kimenő internet-hozzáférés korlátozásának egyik módja a Azure Firewall vagy EGY HTTPS-proxy konfigurálása nélkül, ha szigorú Azure hálózati biztonsági csoportot konfigurál a CycleCloud virtuális gép alhálózatához. Ennek legegyszerűbb módja a szolgáltatáscímkék használata az alhálózatban vagy virtuálisgép-szintű hálózati biztonsági csoportban a szükséges kimenő Azure-hozzáférés engedélyezéséhez.
Storage-szolgáltatásvégpont konfigurálása az alhálózathoz a CycleCloudból az Azure Storage-ba való hozzáférés engedélyezéséhez
Adja hozzá a következő NSG kimenő szabályt a kimenő hozzáférés megtagadásához alapértelmezés szerint az "Internet" célszolgáltatáscímkével:
Prioritás | Name | Port | Protokoll | Forrás | Cél | Művelet |
---|---|---|---|---|---|---|
4000 | BlockOutbound | Bármelyik | Bármelyik | Bármelyik | Internet | Megtagadás |
- Adja hozzá a következő NSG kimenő szabályokat a szükséges Azure-szolgáltatásokhoz való kimenő hozzáférés engedélyezéséhez célszolgáltatáscímke alapján:
Prioritás | Name | Port | Protokoll | Forrás | Cél | Művelet |
---|---|---|---|---|---|---|
100 | AllowAzureStorage | 443 | TCP | Bármelyik | Tárolás | Engedélyezés |
101 | AllowActiveDirectory | 443 | TCP | Bármelyik | AzureActiveDirectory | Engedélyezés |
102 | AllowAzureMonitor | 443 | TCP | Bármelyik | AzureMonitor | Engedélyezés |
103 | AllowAzureRM | 443 | TCP | Bármelyik | AzureResourceManager | Engedélyezés |
Belső kommunikáció a fürtcsomópontok és a CycleCloud között
Ezeknek a portoknak nyitva kell lenniük a fürtcsomópontok és a CycleCloud-kiszolgáló közötti kommunikáció engedélyezéséhez:
Name | Forrás | Cél | Szolgáltatás | Protokoll | Porttartomány |
---|---|---|---|---|---|
amqp_5672 | Fürtcsomópont | CycleCloud | AMQP | TCP | 5672 |
https_9443 | Fürtcsomópont | CycleCloud | HTTPS | TCP | 9443 |
Azure CycleCloud-fürtök indítása zárolt hálózaton
Megjegyzés
A fürtcsomópontok futtatása egy alhálózaton kimenő internet-hozzáférés nélkül jelenleg teljes mértékben támogatott, de ez egy speciális témakör, amelyhez gyakran egyéni rendszerképre vagy az alapértelmezett CycleCloud-fürttípusok és -projektek testreszabására van szükség, vagy mindkettőre.
Aktívan frissítjük a fürttípusokat és -projekteket, hogy a munka nagy részét vagy egészét kiküszöböljük. Ha azonban a zárolt környezetben a fürttípussal vagy -projekttel kapcsolatos hibák merülnek fel, fontolja meg egy támogatási kérés megnyitását.
Virtuális gépek vagy Cyclecloud-fürtök virtuális hálózaton vagy alhálózaton kimenő internet-hozzáféréssel történő futtatásához általában a következőkre van szükség:
- Az Azure Cyclecloudnak elérhetőnek kell lennie a fürt virtuális gépeiről a teljes funkcionalitás érdekében. Vagy:
- A fürt virtuális gépeinek közvetlenül HTTPS-en és AMQP-n keresztül kell tudniuk csatlakozni az Azure Cyclecloudhoz, vagy
- A Cyclecloud ReturnProxy funkciót engedélyezni kell a fürt létrehozásakor, és magának a Cyclecloudnak is képesnek kell lennie csatlakozni a ReturnProxy virtuális géphez SSH-n keresztül
- A fürt által igényelt összes szoftvercsomagnak a következőnek kell lennie:
- Előre telepítve egy egyéni felügyelt lemezképben a fürt virtuális gépeihez, vagy
- Elérhető a virtuális gépekről elérhető csomagtár-tükrözésben, vagy
- Átmásolva a virtuális gépre az Azure Storage-ból, és közvetlenül egy Cyclecloud-projekt telepíti
- Minden fürtcsomópontnak hozzá kell tudnia férni az Azure Storage-fiókokhoz. A szolgáltatáshoz és bármely más támogatott Azure-szolgáltatáshoz való privát hozzáférés biztosításának ajánlott módja egy Virtual Network Szolgáltatásvégpont engedélyezése az Azure Storage-hoz.
Project Frissítések a GitHubról
A Cyclecloud az előkészítési fázis során letölti a fürtprojekteket a GitHubról. Ez a letöltés a kezdeti telepítés után, a Cyclecloud frissítése után vagy egy bizonyos típusú fürt első indításakor történik. Zárolt környezetben előfordulhat, hogy az github.com felé irányuló HTTPS-kimenő forgalom le van tiltva. Ilyen esetben a csomópontok létrehozása az átmeneti erőforrások fázisában sikertelen lesz.
Ha a GitHubhoz való hozzáférés ideiglenesen megnyitható az első csomópont létrehozása során, akkor a CycleCloud előkészíti a helyi fájlokat az összes további csomóponthoz. Ha az ideiglenes hozzáférés nem lehetséges, akkor a szükséges fájlok letölthetők egy másik gépről, és átmásolhatók a CycleCloudba.
Először határozza meg, hogy a fürtnek milyen projektre és verzióra lesz szüksége, például a Slurm 2.5.0-s verziójára. Általában ez a legmagasabb verziószám egy adott projekt adatbázisában.
/opt/cycle_server/cycle_server execute 'select * from cloud.project where name == "slurm"'
AdType = "Cloud.Project"
Version = "2.5.0"
ProjectType = "scheduler"
Url = "https://github.com/Azure/cyclecloud-slurm/releases/2.5.0"
AutoUpgrade = false
Name = "slurm"
Ez a projektverzió és az összes függőség a [kiadási címke] (https://github.com/Azure/cyclecloud-slurm/releases/tag/2.5.0) alatt található. Egy kiadás összes összetevőjéhez le kell tölteni. Először töltse le a kódösszetevőt, és hozzon létre egy blobkönyvtárat a további függőségekhez.
wget https://github.com/Azure/cyclecloud-slurm/archive/refs/tags/2.5.0.tar.gz
tar -xf 2.5.0.tar.gz
cd cyclecloud-slurm-2.5.0 && mkdir blobs
#... download all other release artifacts to the /blobs directory with wget ...
wget -P "blobs/" https://github.com/Azure/cyclecloud-slurm/releases/download/2.6.1/cyclecloud_api-8.1.0-py2.py3-none-any.whl
#... copy all the files to the Cyclecloud server
#... then on the Cyclecloud server:
cyclecloud project build
mkdir -p /opt/cycle_server/work/staging/projects/slurm/2.5.0
mkdir -p /opt/cycle_server/work/staging/projects/slurm/blobs
cp build/slurm/* /opt/cycle_server/work/staging/projects/slurm/2.5.0/
cp blobs/* /opt/cycle_server/work/staging/projects/slurm/blobs/
chown -R cycle_server:cycle_server /opt/cycle_server/work/staging
Miután ezeket a fájlokat helyileg előkészítette, a Cyclecloud észleli őket, és nem próbálja meg letölteni őket a GitHubról.