-
Rekomendowany: Linux (Ubuntu) / MacOS
-
Zainstalowane:
- azure-cli (instalacja)
- terraform (instalacja)
- docker (Ubuntu, MacOs, Windows)
- Kubernetes CLI - kubernetes.io/docs/tasks/tools
- k3d - https://k3d.io/
- helm - helm.sh/docs/intro/install
-
Konto na hub.docker.com
# 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
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.
Na podstawie dokumentacji Azure (terraform), zobaczmy jak możemy utworzyć klaster AKSa i uruchomić przykładową aplikację.
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
# 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
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
az group delete --name ${AKS_RESOURCE_GROUP}
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://...
Przejdź do instrukcji.
Azure containers są odpowiednikiem AWS Fargate dla Azure. Proszę wykonać kroki opisane w dokumentacji Azure.