Integratie van een applicatie in een Kubernetes cluster - lab9k/Orga GitHub Wiki

Integratie van een applicatie in een Kubernetes cluster

Op deze pagina vindt men de workflow van de integratie van een software applicatie in een Kubernetes cluster op het Azure Cloud platform. De laatste stap wordt beschreven hoe men eveneens een applicatie online kan publiceren.

Prerequisites

  • Een Docker image van een bepaalde applicatie is reeds beschikbaar (zie stap 1 : creatie Kubernetes cluster en Docker image).
  • Docker container kan reeds lokaal uitgerold en gedraaid worden.
  • Toegang tot de Lab9K DockerHub account.
  • Om de cluster aan te spreken via de CLI is enige kennis met betrekking tot het kubectl commando vereist. Een andere mogelijkheid is om naar de Lab9K-AKS te gaan op het Azure Cloud Dashboard.

Workflow

cloudinfrastructure

Stap 1: Image migreren naar DockerHub

  • Log in op DockerHub met de Lab9K credentials.
  • Creëer een repository op Docker Hub. De setup spreekt voor zichzelf.
  • Push de image naar de repository:
docker push <hub-user>/<repo-name>:<tag>

(<tag> is optioneel)

Bijvoorbeeld:

docker push lab9k/hello-world
  • De image is nu geüpload naar de betreffende repository 'hello world'.

Klik hier voor meer informatie over het aanmaken van een repository op DockerHub.

Stap 2: Connectie maken met de Kubernetes cluster

  • Mocht dit nog niet eerder gebeurd zijn, dan kan men hier (onder de rubriek 'routering / koppeling aan een Kubernetes cluster') vinden hoe men connecteert met de Kubernetes cluster van Lab9K via de CLI (zie prerequisites).

  • Een andere mogelijkheid is via het Kubernetes Dashboard (GUI):

az aks browse --resource-group Lab9K-Group --name Lab9K-k8s-Cluster

Hier meer informatie over de toegankelijkheid van een Kubernetes cluster.

Stap 3: Genereren en uitvoeren van de Kubernetes deployment file

(Under construction)

apiVersion: apps/v1beta1
kind: Deployment
metadata:
 name: hello-world-deployment
spec:
 replicas: 1
 template:
   metadata:
     labels:
       app: hello-world
   spec:
     containers:
       - image: “gokul93/hello-world:latest”
         imagePullPolicy: Always
         name: hello-world-container
         ports: 
- containerPort: 8080

Stap 4: Genereren en uitvoeren van Kubernetes deployment file

(Under construction)

apiVersion: v1
kind: Service
metadata:
 name: my-api
spec:
 type: LoadBalancer
 ports:
 - port: 80
 selector:
   app: my-api

Stap 5: Publiceren van een applicatie

(Under construction)

⚠️ **GitHub.com Fallback** ⚠️