SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Uszanowanko - Programowanko #28
Kubernetes
From zero to be Hero
O mnie
Bartosz „tkaczu” Tkaczewski
DevOps Engineer w TSH
Developer „w czasie wolnym”
Kontakt:
email: bart@tsh.io
twitter: @btkaczewski
GH: tkaczu
2
Plan prezentacji
Kubernetes - co to jest, jak działa?
Jak to ustrojstwo zainstalować …
Jak na nim coś zrobić …
Co jeszcze moglibyśmy na nim zrobić …
Pytanka
3
- co to jest?
System do zarządzania skonteneryzowanymi
aplikacjami w chmurze umożliwiający wygodny i
przewidywalny sposób deployowania aplikacji, jak
również skalowania i inne różne wodotryski!
4
- co to jest?
Kubernetes = k8s = kube
5
6
Container
Container
Pod
Container
Container
Pod
Container
Container
Pod
Container
Container
Pod
Container
Container
Pod
Container
Container
Pod
Namespace
Node/Host Node/Host
Serwis
Serwis
Serwis
Wirtualny bądź fizyczny host na którym k8s
instalować będzie pody
7
- Node
„Opakowanie” grupujące nam nasze byty w
klastrze
8
- Namespace
- pod
9
Container
Container
Najmniejsza jednostka w k8s
Grupuje kontenery
Dzieli storage
Ustawia je zawsze na jednym NODE
Każdy POD ma swój adres IP
Kontenery wewnątrz widzą się 

po localhoście
POD powinny być stateless - nie

przywiązujemy się do czasu ich istnienia
Pod
Dzięki niemu pody mogą
komunikować się między
sobą jak również serwis
może zostać wystawiony
na świat
10
- Serwis
Container
Container
Pod
Serwis
„Dokument” opisujący - w jaki sposób, w jakiej
liczbie, z jakimi parametrami etc … - pody
mają zostać uruchomione
11
- Deployment
Zobaczmy z czym to się je!
12
13
- SaSS/IaSS
Google
GKE - Google Kubernetes Engine
https://cloud.google.com/kubernetes-engine/
AWS
EKS - Amazon Elastic Container Service for Kubernetes
https://aws.amazon.com/eks/
Azure
AKS - Azure Kubernetes System
https://azure.microsoft.com/pl-pl/services/container-service/
14
- Instalacja
Ręcznie
CLI
kops
kismatic
kubespray
Demo #0
15
Program terminalowy (CLI) do wykonywania
poleceń na działającym klastrze k8s
16
Kubectl
Kubectl ważne polecenia
kubectl get pods - pokazuje listę podów
kubectl describe pod - opisuje pod
kubectl get svc - pokazuje listę serwisów
kubectl top pods - pokazuje ‚top’ na podach
kubectl get nodes - pokazuje nody działające w klastrze
kubectl apply - wdraża/nanosi nasze manifesty
kubectl exec - podłącza się do działającego poda
kubectl delete pod- usuwa poda
17
Przykład #1 - nginx-intro
Co to jest manifest?
Jak go napisać?
Jak go wdrożyć?
Jak go usunąć?
18
Przykład #2 - wordpress-single
19
Wdrożymy wordpressa
Czyli dodamy bazę danych
Oczywiście zepniemy to w całość
Będziemy z siebie dumni
Przykład #3 - wordpress-multi
20
Wydzielimy bazę danych do osobnego poda
Podłączymy się do niej przez serwis
Poznamy configmapy
HPA (Horizonal Pod Autoscaler) -
automatycznie skaluje nasze pody
obserwując wskazane przez nas metryki -
np użycie CPU bądź RAM
21
- HPA
Przykład #4 - wordpress-multi-hpa
22
„SZYBKI DDOS”
Skalujemy apkę
Duma zacznie nas rozpierać
Program, który pomoże nam zarządzać
naszymi aplikacjami - deployować, skalować,
usuwać. Umożliwia nam parametryzowanie
manifestów
23
Helm
Przykład #5 - wordpress-helm
24
Parametryzujemy manifesty
Reużywamy je - przecież jesteśmy leniuchami
Odpalamy farmę wordpressów
Podsumowanie
25
Zalety
26
Tools
kubectl -https://kubernetes.io/docs/tasks/tools/
install-kubectl/
kops - https://github.com/kubernetes/kops
gcloud CLI - https://cloud.google.com/sdk/gcloud/
helm - https://docs.helm.sh/using_helm/
27
Repozytorium
https://github.com/
tkaczu/uszanowanko-
k8s
28
Dziękuje za uwagę :)
Zapraszam do dyskusji.
29

Contenu connexe

Tendances

クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
Tomohisa Koyanagi
 
[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知
[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知
[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知
Amazon Web Services Japan
 

Tendances (20)

Google Kubernetes Engine (GKE)
Google Kubernetes Engine (GKE)Google Kubernetes Engine (GKE)
Google Kubernetes Engine (GKE)
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
 
グループのメンバーをすべて取得する
グループのメンバーをすべて取得するグループのメンバーをすべて取得する
グループのメンバーをすべて取得する
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
 
基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト
 
k8s practice 2023.pptx
k8s practice 2023.pptxk8s practice 2023.pptx
k8s practice 2023.pptx
 
淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
Azure VMware Solution (AVS) 概要 (2019年11月版)
Azure VMware Solution (AVS) 概要  (2019年11月版) Azure VMware Solution (AVS) 概要  (2019年11月版)
Azure VMware Solution (AVS) 概要 (2019年11月版)
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
 
stupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdfstupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdf
 
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
 
[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知
[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知
[AWSマイスターシリーズ]Amazon SNSモバイルプッシュ通知
 

Similaire à Kubernetes: from zero to be hero

PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PROIDEA
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz
 
C# i ASP.NET. Szybki start
C# i ASP.NET. Szybki startC# i ASP.NET. Szybki start
C# i ASP.NET. Szybki start
Wydawnictwo Helion
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Lukasz Kaluzny
 

Similaire à Kubernetes: from zero to be hero (20)

Kubernetes i Docker Swarm - Tomasz Woszczynski
Kubernetes i Docker Swarm - Tomasz WoszczynskiKubernetes i Docker Swarm - Tomasz Woszczynski
Kubernetes i Docker Swarm - Tomasz Woszczynski
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
 
Cykl życia zapytania HTTP (pod maską)
Cykl życia zapytania HTTP (pod maską)Cykl życia zapytania HTTP (pod maską)
Cykl życia zapytania HTTP (pod maską)
 
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
 
Kontenery w Azure
Kontenery w AzureKontenery w Azure
Kontenery w Azure
 
Sekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerSekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu Docker
 
Lokalny development z kubernetes
Lokalny development z kubernetesLokalny development z kubernetes
Lokalny development z kubernetes
 
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
 
Przenieś się do kontenera, czyli korzyści z Docker i Docker Compose
Przenieś się do kontenera, czyli korzyści z Docker i Docker ComposePrzenieś się do kontenera, czyli korzyści z Docker i Docker Compose
Przenieś się do kontenera, czyli korzyści z Docker i Docker Compose
 
Szybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJSSzybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJS
 
PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDNPLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Ansible w praktyce
Ansible w praktyceAnsible w praktyce
Ansible w praktyce
 
C# i ASP.NET. Szybki start
C# i ASP.NET. Szybki startC# i ASP.NET. Szybki start
C# i ASP.NET. Szybki start
 
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
 
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
 
PLNOG 7: Michał Jura - Linux Contextualization
PLNOG 7: Michał Jura - Linux ContextualizationPLNOG 7: Michał Jura - Linux Contextualization
PLNOG 7: Michał Jura - Linux Contextualization
 

Plus de The Software House

Plus de The Software House (20)

Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
 
Uszanowanko Podsumowanko
Uszanowanko PodsumowankoUszanowanko Podsumowanko
Uszanowanko Podsumowanko
 
Jak efektywnie podejść do certyfikacji w AWS?
Jak efektywnie podejść do certyfikacji w AWS?Jak efektywnie podejść do certyfikacji w AWS?
Jak efektywnie podejść do certyfikacji w AWS?
 
O co chodzi z tą dostępnością cyfrową?
O co chodzi z tą dostępnością cyfrową?O co chodzi z tą dostępnością cyfrową?
O co chodzi z tą dostępnością cyfrową?
 
Chat tekstowy z użyciem Amazon Chime
Chat tekstowy z użyciem Amazon ChimeChat tekstowy z użyciem Amazon Chime
Chat tekstowy z użyciem Amazon Chime
 
Migracje danych serverless
Migracje danych serverlessMigracje danych serverless
Migracje danych serverless
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?
 
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWSAnaliza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
 
Feature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScriptFeature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScript
 
Typowanie nominalne w TypeScript
Typowanie nominalne w TypeScriptTypowanie nominalne w TypeScript
Typowanie nominalne w TypeScript
 
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQLAutomatyzacja tworzenia frontendu z wykorzystaniem GraphQL
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
 
Serverless Compose vs hurtownia danych
Serverless Compose vs hurtownia danychServerless Compose vs hurtownia danych
Serverless Compose vs hurtownia danych
 
Testy API: połączenie z bazą danych czy implementacja w pamięci
Testy API: połączenie z bazą danych czy implementacja w pamięciTesty API: połączenie z bazą danych czy implementacja w pamięci
Testy API: połączenie z bazą danych czy implementacja w pamięci
 
Jak skutecznie read model. Case study
Jak skutecznie read model. Case studyJak skutecznie read model. Case study
Jak skutecznie read model. Case study
 
Firestore czyli ognista baza od giganta z Doliny Krzemowej
Firestore czyli ognista baza od giganta z Doliny KrzemowejFirestore czyli ognista baza od giganta z Doliny Krzemowej
Firestore czyli ognista baza od giganta z Doliny Krzemowej
 
Jak utrzymać stado Lambd w ryzach
Jak utrzymać stado Lambd w ryzachJak utrzymać stado Lambd w ryzach
Jak utrzymać stado Lambd w ryzach
 
Jak poskromić AWS?
Jak poskromić AWS?Jak poskromić AWS?
Jak poskromić AWS?
 
O łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.jsO łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.js
 
Amazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurzeAmazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurze
 
Od Figmy do gotowej aplikacji bez linijki kodu
Od Figmy do gotowej aplikacji bez linijki koduOd Figmy do gotowej aplikacji bez linijki kodu
Od Figmy do gotowej aplikacji bez linijki kodu
 

Kubernetes: from zero to be hero