Megosztás a következőn keresztül:


Tárolópéldányok üzembe helyezése egy Azure virtuális hálózaton

Az Azure Virtual Network biztonságos, privát hálózatkezelést biztosít az Azure- és a helyszíni erőforrások számára. A tárolócsoportok Azure-beli virtuális hálózaton való üzembe helyezésével a tárolók biztonságosan kommunikálhatnak a virtuális hálózat többi erőforrásával.

Ez a cikk bemutatja, hogyan helyezhet üzembe tárolócsoportokat egy új virtuális hálózaton vagy egy meglévő virtuális hálózaton az Az Container Create paranccsal az Azure CLI-ben.

Fontos

  • Az alhálózatokat delegálni kell a virtuális hálózat használata előtt
  • Mielőtt tárolócsoportokat helyez üzembe a virtuális hálózatokban, javasoljuk, hogy először ellenőrizze a korlátozást. A hálózatkezelési forgatókönyvekről és korlátozásokról lásd az Azure Container Instances virtuális hálózati forgatókönyveit és erőforrásait.
  • A tárolócsoportok virtuális hálózaton való üzembe helyezése általában Linux- és Windows-tárolók esetén érhető el, a legtöbb régióban, ahol az Azure Container Instances elérhető. További részletekért tekintse meg a rendelkezésre álló régiókat.

Fontos

A hálózati profilok az API-verziótól 2021-07-01 lettek kivonva. Ha ezt vagy egy újabb verziót használja, hagyja figyelmen kívül a hálózati profilokkal kapcsolatos lépéseket és műveleteket.

A cikkben szereplő példák a Bash-rendszerhéjhoz vannak formázva. Ha egy másik rendszerhéjat, például a PowerShellt vagy a parancssort részesíti előnyben, ennek megfelelően állítsa be a sor folytatási karaktereit.

Üzembe helyezés új virtuális hálózaton

Feljegyzés

Ha a /29 alhálózati IP-tartományt használja, csak 3 IP-címmel rendelkezik. azt javasoljuk, hogy mindig menjen egy tartomány felett (soha nem alább). Használja például a /28 alhálózati IP-tartományt, hogy tárolócsoportonként legalább egy vagy több IP-puffert használjon. Ezzel elkerülheti a tárolók elakadását, nem tudja elindítani, újraindítani vagy akár leállítani az állapotokat.

Ha új virtuális hálózaton szeretne üzembe helyezni, és automatikusan létre szeretné hozni az Azure-nal a hálózati erőforrásokat, adja meg a következőket az az container create végrehajtásakor:

  • Virtuális hálózat neve
  • Virtuális hálózati címelőtag CIDR formátumban
  • Alhálózat neve
  • Alhálózati címelőtag CIDR formátumban

A virtuális hálózat és az alhálózat címelőtagja határozza meg a virtuális hálózat és az alhálózat címtereit. Ezek az értékek például 10.0.0.0/16osztály nélküli tartományközi útválasztási (CIDR) jelölésben jelennek meg. Az alhálózatok használatával kapcsolatos további információkért lásd : Virtuális hálózati alhálózat hozzáadása, módosítása vagy törlése.

Miután üzembe helyezte az első tárolócsoportot ezzel a módszerrel, ugyanarra az alhálózatra telepítheti a virtuális hálózat és alhálózat nevét, vagy az Azure által automatikusan létrehozott hálózati profilt. Mivel az Azure delegálja az alhálózatot az Azure Container Instances szolgáltatásba, csak tárolócsoportokat helyezhet üzembe az alhálózaton.

Példa

Az alábbi az container create parancs egy új virtuális hálózat és alhálózat beállításait adja meg. Adja meg annak az erőforráscsoportnak a nevét, amelyet egy olyan régióban hoztak létre, ahol a tárolócsoport üzembe helyezése elérhető egy virtuális hálózaton. Ez a parancs üzembe helyezi a nyilvános Microsoft aci-helloworld tárolót, amely egy kis Node.js webkiszolgálót futtat, amely statikus weblapot szolgál ki. A következő szakaszban üzembe helyez egy második tárolócsoportot ugyanarra az alhálózatra, és teszteli a két tárolópéldány közötti kommunikációt.

az container create \
  --name appcontainer \
  --resource-group myResourceGroup \
  --image mcr.microsoft.com/azuredocs/aci-helloworld \
  --vnet aci-vnet \
  --vnet-address-prefix 10.0.0.0/16 \
  --subnet aci-subnet \
  --subnet-address-prefix 10.0.0.0/24

Ha ezzel a módszerrel helyez üzembe egy új virtuális hálózatot, az üzembe helyezés eltarthat néhány percig, amíg a hálózati erőforrások létrejönnek. A kezdeti üzembe helyezés után a tárolócsoportok ugyanazon alhálózatra történő további telepítései gyorsabban befejeződnek.

Üzembe helyezés meglévő virtuális hálózaton

Tárolócsoport üzembe helyezése meglévő virtuális hálózaton:

  1. Hozzon létre egy alhálózatot a meglévő virtuális hálózaton belül, használjon egy meglévő alhálózatot, amelyben már üzembe van helyezve egy tárolócsoport, vagy használjon egy meglévő alhálózatot az összes többi erőforrásból és konfigurációból kiürítve. A tárolócsoportokhoz használt alhálózat csak tárolócsoportokat tartalmazhat. Mielőtt üzembe helyez egy tárolócsoportot egy alhálózaton, a kiépítés előtt explicit módon delegálnia kell az alhálózatot. A delegálás után az alhálózat csak tárolócsoportokhoz használható. Ha a tárolócsoportoktól eltérő erőforrásokat kísérel meg üzembe helyezni egy delegált alhálózaton, a művelet sikertelen lesz.
  2. Helyezzen üzembe egy tárolócsoportot az az container create használatával, és adja meg az alábbiak egyikét:
    • Virtuális hálózat és alhálózat neve
    • Virtuális hálózati erőforrás-azonosító és alhálózati erőforrás-azonosító, amely lehetővé teszi egy másik erőforráscsoportból származó virtuális hálózat használatát

Példa

Az alábbi példa egy második tárolócsoportot helyez üzembe a korábban létrehozott alhálózaton, és ellenőrzi a két tárolópéldány közötti kommunikációt.

Először kérje le az első üzembe helyezett tárolócsoport, az appcontainer IP-címét:

az container show --resource-group myResourceGroup \
  --name appcontainer \
  --query ipAddress.ip --output tsv

A kimenet megjeleníti a tárolócsoport IP-címét a privát alhálózatban. Példa:

10.0.0.4

Most állítsa be CONTAINER_GROUP_IP a paranccsal lekért az container show IP-címet, és hajtsa végre a következő az container create parancsot. Ez a második tároló, a commchecker egy Alpine Linux-alapú rendszerképet futtat, és végrehajtja wget az első tárolócsoport privát alhálózati IP-címén.

CONTAINER_GROUP_IP=<container-group-IP-address>

az container create \
  --resource-group myResourceGroup \
  --name commchecker \
  --image alpine:3.5 \
  --command-line "wget $CONTAINER_GROUP_IP" \
  --restart-policy never \
  --vnet aci-vnet \
  --subnet aci-subnet

A második tárolótelepítés befejezése után kérje le a naplóit, hogy láthassa a wget végrehajtott parancs kimenetét:

az container logs --resource-group myResourceGroup --name commchecker

Ha a második tároló sikeresen kommunikált az elsővel, a kimenet a következőhöz hasonló:

Connecting to 10.0.0.4 (10.0.0.4:80)
index.html           100% |*******************************|  1663   0:00:00 ETA

A naplókimenetnek azt kell mutatnia, hogy wget képes volt csatlakozni és letölteni az indexfájlt az első tárolóból a helyi alhálózat privát IP-címével. A két tárolócsoport közötti hálózati forgalom a virtuális hálózaton belül maradt.

Példa – YAML

A tárolócsoportokat yaML-fájl, Resource Manager-sablon vagy más programozott módszer, például a Python SDK használatával is üzembe helyezheti egy meglévő virtuális hálózaton.

YAML-fájl használatakor például üzembe helyezhet egy virtuális hálózaton egy Azure Container Instancesbe delegált alhálózatot. Adja meg a következő tulajdonságokat:

  • ipAddress: A tárolócsoport privát IP-címbeállításai.
    • ports: A megnyitni kívánt portok, ha vannak ilyenek.
    • protocol: A megnyitott port protokollja (TCP vagy UDP).
  • subnetIds: A központilag üzembe helyezendő alhálózatok erőforrásazonosítói
    • id: Az alhálózat erőforrás-azonosítója
    • name: Az alhálózat neve

Ez a YAML létrehoz egy appcontaineryaml nevű tárolócsoportot a virtuális hálózaton.

apiVersion: '2021-07-01'
location: westus
name: appcontaineryaml
properties:
  containers:
  - name: appcontaineryaml
    properties:
      image: mcr.microsoft.com/azuredocs/aci-helloworld
      ports:
      - port: 80
        protocol: TCP
      resources:
        requests:
          cpu: 1.0
          memoryInGB: 1.5
  ipAddress:
    type: Private
    ports:
    - protocol: tcp
      port: '80'
  osType: Linux
  restartPolicy: Always
  subnetIds:
    - id: <subnet-id>
      name: default
tags: null
type: Microsoft.ContainerInstance/containerGroups

Helyezze üzembe a tárolócsoportot az az container create paranccsal, és adja meg a paraméter YAML-fájlnevét --file :

az container create --resource-group myResourceGroup \
  --file vnet-deploy-aci.yaml

Az üzembe helyezés befejezése után futtassa az az container show parancsot az állapotának megjelenítéséhez. Példa a kimenetre:

Name              ResourceGroup    Status    Image                                       IP:ports     Network    CPU/Memory       OsType    Location
----------------  ---------------  --------  ------------------------------------------  -----------  ---------  ---------------  --------  ----------
appcontaineryaml  myResourceGroup  Running   mcr.microsoft.com/azuredocs/aci-helloworld  10.0.0.5:80  Private    1.0 core/1.5 gb  Linux     westus

Az erőforrások eltávolítása

Tárolópéldányok törlése

Ha végzett a létrehozott tárolópéldányokkal, törölje őket a következő parancsokkal:

az container delete --resource-group myResourceGroup --name appcontainer -y
az container delete --resource-group myResourceGroup --name commchecker -y
az container delete --resource-group myResourceGroup --name appcontaineryaml -y

Hálózati erőforrások törlése

Ez a funkció jelenleg több további parancsot igényel a korábban létrehozott hálózati erőforrások törléséhez. Ha a jelen cikk előző szakaszaiban szereplő példaparancsokkal hozta létre a virtuális hálózatot és az alhálózatot, akkor az alábbi szkripttel törölheti ezeket a hálózati erőforrásokat. A szkript feltételezi, hogy az erőforráscsoport egyetlen, egyetlen hálózati profillal rendelkező virtuális hálózatot tartalmaz.

A szkript végrehajtása előtt állítsa a változót RES_GROUP a törölni kívánt virtuális hálózatot és alhálózatot tartalmazó erőforráscsoport nevére. Frissítse a virtuális hálózat nevét, ha nem a aci-vnet korábban javasolt nevet használta. A szkript a Bash-rendszerhéjhoz van formázva. Ha egy másik rendszerhéjat, például a PowerShellt vagy a parancssort részesíti előnyben, ennek megfelelően módosítania kell a változók hozzárendelését és tartozékait.

Figyelmeztetés

Ez a szkript törli az erőforrásokat! Törli a virtuális hálózatot és a benne lévő összes alhálózatot. A szkript futtatása előtt győződjön meg arról, hogy már nincs szüksége a virtuális hálózatban lévő erőforrásokra, beleértve a benne lévő alhálózatokat is. A törlés után ezek az erőforrások helyreállíthatatlanok.

# Replace <my-resource-group> with the name of your resource group
# Assumes one virtual network in resource group
RES_GROUP=<my-resource-group>

# Get network profile ID
# Assumes one profile in virtual network
NETWORK_PROFILE_ID=$(az network profile list --resource-group $RES_GROUP --query [0].id --output tsv)

# Delete the network profile
az network profile delete --id $NETWORK_PROFILE_ID -y

# Delete virtual network
az network vnet delete --resource-group $RES_GROUP --name aci-vnet

Következő lépések

  • Ha új virtuális hálózatot, alhálózatot, hálózati profilt és tárolócsoportot szeretne üzembe helyezni Resource Manager-sablonnal, olvassa el az Azure-tárolócsoport létrehozása virtuális hálózattal című témakört.

  • Ha olyan Azure Container Instances-példányokat szeretne üzembe helyezni, amelyek rendszerképeket tudnak lekérni egy Azure Container Registryből egy privát végponton keresztül, tekintse meg az Azure Container Instancesben való üzembe helyezés felügyelt identitás használatával történő üzembe helyezését az Azure Container Registryből.