Skip to content

Latest commit

 

History

History
186 lines (133 loc) · 5.08 KB

File metadata and controls

186 lines (133 loc) · 5.08 KB

Azure AKS & Autoscale

Stacja robocza

  1. Rekomendowany: Linux (Ubuntu) / MacOS

  2. Zainstalowane:

  3. Konto na hub.docker.com

Instalacja Docker Ubuntu

# install docker
sudo su

apt-get update ;
apt-get install -qq apt-transport-https ca-certificates curl software-properties-common ;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - ;
add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu '$(lsb_release -cs)' stable' ;
apt-get update ;
apt-get install -qq docker-ce ;

# do not forget to exit
exit

Docker

Co to jest Docker? Jak pracujemy z Dockerem?

docker ps
docker ps -a
docker images
# przykład
docker run --name wsb-cloud-dev \
    -e MYSQL_ROOT_PASSWORD=nomoresecrets \
    -d mysql

docker stop wsb-cloud-dev

Więcej o dobrych praktykach na githubie.

Azure Kubernetes Service (AKS)

Na podstawie dokumentacji Azure (terraform), zobaczmy jak możemy utworzyć klaster AKSa i uruchomić przykładową aplikację.

Utworzenie klastra

az login --use-device-code
export AKS_RESOURCE_GROUP=wsb-cloud-aks
az group create --name ${AKS_RESOURCE_GROUP} \
    --location eastus
az aks create --resource-group ${AKS_RESOURCE_GROUP} \
    --name myAKSCluster \
    --node-count 1 \
    --generate-ssh-keys

Połączenie

# opcjonalne 
# jesli nie masz zainstalowanego kubectl
az aks install-cli
az aks get-credentials \
   --resource-group ${AKS_RESOURCE_GROUP} \
   --name myAKSCluster
# zobaczmy ile wezlow mamy
# w naszym klastrze
kubectl get nodes

 NAME                                STATUS   ROLES   AGE     VERSION
 aks-nodepool1-10484340-vmss000000   Ready    agent   2m11s   v1.21.7

kubectl get nodes -o wide

Uruchomienie aplikacji

Wykorzystajmy manifesty, aplikacji która wyświetla prostą stronę internetową.

git clone https://github.com/wojciech12/workshop_kubernetes_and_cloudnative.git
cd workshop_kubernetes_and_cloudnative/01_introduction

kubectl apply -f manifests/kube-deployment.yaml

kubectl apply -f manifests/kube-service.yaml
kubectl get pods

kubectl get deploy

kubectl get svc
curl PUBLIC_IP:8080

<html>
<h1>1.0.0</h1>
</html>
# skalowanie
kubectl scale deployment/intro-app-deploy --replicas=2

kubectl get pods

Zakończenie pracy

az group delete --name ${AKS_RESOURCE_GROUP}

Kubernetes z k3s

Przygotowanie do pracy

Za instrukcją ćwiczeń z Kubernetesa, przygotujmy lokalne środowisko do pracy:

k3d cluster create --port "8080:8080@loadbalancer" \
                   --port "8000:80@loadbalancer" \
                   'k8s-w10i-workshop'
kubectl config use-context k3d-k8s-w10i-workshop
kubectl cluster-info

Kubernetes control plane is running at https://0.0.0.0:60602
CoreDNS is running at https://...
Metrics-server is running at https://...

Ćwiczenia

Przejdź do instrukcji.

Azure containers

Azure containers są odpowiednikiem AWS Fargate dla Azure. Proszę wykonać kroki opisane w dokumentacji Azure.

Dodatkowe