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
Mielőtt tárolócsoportokat helyez üzembe virtuális hálózatokban, javasoljuk, hogy először ellenőrizze a korlátozást. A hálózati forgatókönyvekkel és korlátozásokkal kapcsolatban lásd: Virtuális hálózati forgatókönyvek és erőforrások Azure Container Instances.
Fontos
A tárolócsoportok virtuális hálózaton való üzembe helyezése általánosan elérhető Linux- és Windows-tárolókhoz, a legtöbb régióban, ahol Azure Container Instances elérhető. További részletekért lásd: elérhető régiók.
Fontos
A hálózati profilok ki lettek vonva az 2021-07-01
API-verzióból. Ha ezt vagy egy újabb verziót használ, 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-felülethez 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 módosítsa a sorfolytatási karaktereket.
Üzembe helyezés új virtuális hálózaton
Megjegyzés
Ha a /29 alhálózati IP-tartományt használja, hogy csak 3 IP-címmel rendelkezzen. azt javasoljuk, hogy mindig egy tartományt válasszon (soha ne alább). Használja például a /28 alhálózati IP-tartományt, hogy tárolócsoportonként legalább 1 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 szeretné üzembe helyezni, és az Azure automatikusan létrehozza 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 osztály nélküli Inter-Domain Útválasztás (CIDR) jelölésben jelennek meg, például 10.0.0.0/16
: . 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 az üzembe helyezést a virtuális hálózat és alhálózatok nevének megadásával, vagy az Azure által automatikusan létrehozott hálózati profil megadásával. Mivel az Azure delegálja az alhálózatot Azure Container Instances, 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 statikus weblapot kiszolgáló kis Node.js webkiszolgálót futtat. 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:
- 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, amely ki van ürítve az összes többi erőforrásból és konfigurációból.
- Helyezzen üzembe egy tárolócsoportot az az container create paranccsal , és adja meg az alábbiak egyikét:
- Virtuális hálózat neve és alhálózatának 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
- Hálózati profil neve vagy azonosítója, amelyet az az network profile list használatával szerezhet be
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 a privát alhálózatban lévő tárolócsoport IP-címét jeleníti meg. Például:
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ó üzembe helyezésének 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ó kimenetének 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
Tárolócsoportot egy meglévő virtuális hálózaton is üzembe helyezhet YAML-fájllal, Resource Manager sablonnal vagy más programozott módszerrel, például a Python SDK-val.
YAML-fájl használatakor például üzembe helyezhet egy virtuális hálózaton egy Azure Container Instances delegált alhálózattal. Adja meg a következő tulajdonságokat:
ipAddress
: A tárolócsoport privát IP-címbeállításai.ports
: A megnyitandó portok, ha vannak.protocol
: A megnyitott port protokollja (TCP vagy UDP).
subnetIds
: Az üzembe helyezendő alhálózatok erőforrás-azonosítóiid
: Az alhálózat erőforrás-azonosítójaname
: 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 --file
paraméter YAML-fájlnevét:
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
Ehhez a funkcióhoz jelenleg több további parancsra van szükség 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, 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 virtuális hálózatot tartalmaz egyetlen hálózati profillal.
A szkript végrehajtása előtt állítsa a RES_GROUP
változót 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-felülethez 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ó-hozzárendelést és a tartozékokat.
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 a szkript futtatása előtt már nincs szüksége a virtuális hálózatban lévő erőforrásokra, beleértve a benne található 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 egy Resource Manager sablonnal, tekintse meg az Azure-tárolócsoport virtuális hálózattal történő létrehozását ismertető cikket.
Ha olyan Azure Container Instances szeretne üzembe helyezni, amely képes lemezképeket lekérni egy Azure Container Registry egy privát végponton keresztül, tekintse meg az Üzembe helyezés Azure Container Instances Azure Container Registry-ből felügyelt használatával című cikket. identitást.