Zelfstudie: Containerinstallatiekopieën maken in een Service Fabric-cluster in Linux
Deze zelfstudie is het eerste deel van een reeks zelfstudies waarin wordt gedemonstreerd hoe u containers gebruikt in een Linux Service Fabric-cluster. In deze zelfstudie wordt een toepassing met meerdere containers voorbereid voor gebruik met Service Fabric. In volgende zelfstudies worden deze installatiekopieën gebruikt als onderdeel van een Service Fabric-toepassing. In deze zelfstudie leert u het volgende:
- Een toepassingsbron klonen vanuit GitHub
- Een containerinstallatiekopie maken uit de toepassingsbron
- Een ACR-exemplaar (Azure Container Registry) implementeren
- Een containerinstallatiekopie voor ACR taggen
- De installatiekopie uploaden naar ACR
In deze zelfstudie leert u het volgende:
- Containerinstallatiekopieën maken voor Service Fabric
- Een Service Fabric-toepassing maken en implementeren met containers
- Hoe failover en schalen worden verwerkt in Service Fabric
Vereisten
- Er moet een Linux-ontwikkelomgeving zijn ingesteld voor Service Fabric. Volg deze instructies voor het instellen van de Linux-omgeving.
- Voor deze zelfstudie moet u de versie Azure CLI 2.0.4 of later uitvoeren. Voer
az --version
uit om de versie te bekijken. Als u uw CLI wilt installeren of upgraden, raadpleegt u De Azure CLI installeren. - Bovendien moet u beschikken over een Azure-abonnement. Kijk hier voor meer informatie over een gratis evaluatieversie.
Toepassingscode ophalen
De voorbeeldtoepassing die wordt gebruikt in deze zelfstudie, is een app om mee te stemmen. De toepassing bestaat uit een front-endwebonderdeel en een back-end-Redis-exemplaar. De onderdelen zijn verpakt in containerinstallatiekopieën.
Gebruik git om een kopie van de toepassing te downloaden naar de ontwikkelomgeving.
git clone https://github.com/Azure-Samples/service-fabric-containers.git
cd service-fabric-containers/Linux/container-tutorial/
De oplossing bevat twee mappen en een bestand docker-compose.yml. De map azure-vote bevat de Python-front-endservice en ook het Dockerfile dat is gebruikt om de installatiekopie te bouwen. De map Voting bevat het Service Fabric-toepassingspakket dat is geïmplementeerd in het cluster. Deze mappen bevatten de benodigde activa voor deze zelfstudie.
Containerinstallatiekopieën maken
Voer in de map azure-vote de volgende opdracht uit om de installatiekopie voor het front-endwebonderdeel te bouwen. Deze opdracht maakt gebruik van het Dockerfile in deze map om de installatiekopie te bouwen.
docker build -t azure-vote-front .
Notitie
Als u de toegang wordt geweigerd, volgt u deze documentatie over het werken met docker zonder sudo.
Deze opdracht kan enige tijd in beslag nemen omdat alle noodzakelijke afhankelijkheden moeten worden opgehaald uit Docker Hub. Wanneer u klaar bent, gebruikt u de opdracht docker images om de azure-vote-front-installatiekopieën te zien die u zojuist hebt gemaakt.
docker images
Azure Container Registry implementeren
Voer eerst de opdracht az login uit om u aan te melden bij uw Azure-account.
az login
Gebruik vervolgens de opdracht az account om het abonnement te kiezen waarin het Azure Container Registry moet worden gemaakt. U moet de abonnements-id van uw Azure-abonnement invoeren in plaats van <subscription_id>.
az account set --subscription <subscription_id>
Wanneer u een Azure Container Registry implementeert, hebt u eerst een resourcegroep nodig. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.
Een resourcegroep maken met de opdracht az group create. In dit voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de regio westus.
az group create --name <myResourceGroup> --location westus
Maak een Azure Container Registry met de opdracht az acr create. Vervang <acrName> door de naam van het containerregister dat u wilt maken onder uw abonnement. Deze naam moet alfanumeriek en uniek zijn.
az acr create --resource-group <myResourceGroup> --name <acrName> --sku Basic --admin-enabled true
In de rest van deze zelfstudie wordt acrName gebruikt als tijdelijke aanduiding voor de naam van het gekozen containerregister. Noteer deze waarde.
Aanmelden bij het containerregister
Meld u aan bij het ACR-exemplaar voordat u installatiekopieën naar het exemplaar pusht. Gebruik de opdracht az acr login om de bewerking te voltooien. Geef de unieke naam op die u het containerregister hebt gegeven toen u het maakte.
az acr login --name <acrName>
De opdracht retourneert een bericht dat de aanmelding is gelukt.
Containerinstallatiekopieën taggen
Elke containerinstallatiekopie moet worden getagd met de loginServer-naam van het register. Deze tag wordt gebruikt voor routering bij het pushen van containerinstallatiekopieën naar een installatiekopieregister.
Als u een lijst met huidige installatiekopieën wilt weergeven, gebruikt u de opdracht docker images.
docker images
Uitvoer:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf About a minute ago 913MB
Voer de volgende opdracht uit om de loginServer-naam op te halen:
az acr show --name <acrName> --query loginServer --output table
Hiermee wordt een tabel opgehaald met de volgende resultaten. Dit resultaat wordt gebruikt om de installatiekopie azure-vote-front te taggen voordat u deze in de volgende stap naar het containerregister pusht.
Result
------------------
<acrName>.azurecr.io
Tag nu de installatiekopie azure-vote-front met de loginServer van het containerregister. Voeg bovendien :v1
toe aan het eind van de installatiekopienaam. Deze tag geeft de versie van de installatiekopie aan.
docker tag azure-vote-front <acrName>.azurecr.io/azure-vote-front:v1
Voer na het taggen de opdracht docker images uit om de bewerking te controleren.
Uitvoer:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf 23 minutes ago 913MB
<acrName>.azurecr.io/azure-vote-front v1 052c549a75bf 23 minutes ago 913MB
Installatiekopieën naar het register pushen
Push de installatiekopie azure-vote-front naar het register.
In het volgende voorbeeld vervangt u de naam van de ACR-loginServer door de naam van de loginServer uit uw omgeving.
docker push <acrName>.azurecr.io/azure-vote-front:v1
Het duurt enkele minuten voordat de opdracht docker push is voltooid.
Installatiekopieën vermelden in het register
Gebruik de opdracht az acr repository list om een lijst met installatiekopieën te retourneren die naar het Azure Container Registry zijn gepusht. Werk de opdracht bij met de naam van het ACR-exemplaar.
az acr repository list --name <acrName> --output table
Uitvoer:
Result
----------------
azure-vote-front
Bij het voltooien van de zelfstudie is de containerinstallatiekopie opgeslagen in een persoonlijk Azure Container Registry-exemplaar. Deze installatiekopie wordt in volgende zelfstudies vanuit ACR geïmplementeerd naar een Service Fabric-cluster.
Volgende stappen
In deze zelfstudie is een toepassing opgehaald uit GitHub en zijn containerinstallatiekopieën gemaakt en naar een register gepusht. De volgende stappen zijn voltooid:
- Een toepassingsbron klonen vanuit GitHub
- Een containerinstallatiekopie maken uit de toepassingsbron
- Een ACR-exemplaar (Azure Container Registry) implementeren
- Een containerinstallatiekopie voor ACR taggen
- De installatiekopie uploaden naar ACR
Ga naar de volgende zelfstudie voor informatie over het verpakken van containers in een Service Fabric-toepassing met behulp van Yeoman.