website/content/pl/docs/tutorials/kubernetes-basics/scale/scale-intro.html

113 lines
4.8 KiB
HTML

---
title: Uruchamianie wielu instancji aplikacji
weight: 10
---
<!DOCTYPE html>
<html lang="pl">
<body>
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-8">
<h3>Cele</h3>
<ul>
<li>Wyskaluj aplikację przy użyciu kubectl.</li>
</ul>
</div>
<div class="col-md-8">
<h3>Skalowanie aplikacji</h3>
<p>W poprzednim module stworzyliśmy <a href="/docs/concepts/workloads/controllers/deployment/"> Deployment</a> i udostępniliśmy go publicznie korzystając z <a href="/docs/concepts/services-networking/service/">Serwisu</a>. Deployment utworzył tylko jeden Pod, w którym uruchomiona jest nasza aplikacja. Wraz ze wzrostem ruchu, będziemy musieli wyskalować aplikację, aby była w stanie obsłużyć zwiększone zapotrzebowanie użytkowników.</p>
<p><b>Skalowanie</b> polega na zmianie liczby replik w Deploymencie.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_lined">
<h3>Podsumowanie:</h3>
<ul>
<li>Skalowanie Deploymentu</li>
</ul>
</div>
<div class="content__box content__box_fill">
<p><i> Od samego początku w ramach Deploymentu można uruchomić wiele instancji — skorzystaj z parametru --replicas polecenia kubectl create deployment</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2 style="color: #3771e3;">Ogólnie o skalowaniu</h2>
</div>
</div>
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-8">
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item carousel-item active">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling1.svg">
</div>
<div class="item carousel-item">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling2.svg">
</div>
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="sr-only ">Wstecz</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="sr-only">Dalej</span>
</a>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p>Kiedy zwiększamy skalę Deploymentu, uruchomienie nowych Podów jest zlecane na Węzłach, które posiadają odpowiednio dużo zasobów. Operacja skalowania zwiększy liczbę Podów do oczekiwanej wartości. W Kubernetes możliwe jest również <a href="/docs/tasks/run-application/horizontal-pod-autoscale/">autoskalowanie</a> Podów, ale jest ono poza zakresem niniejszego samouczka. Istnieje także możliwość skalowania do zera — w ten sposób zatrzymane zostaną wszystkie Pody należące do konkretnego Deploymentu.</p>
<p>Kiedy działa jednocześnie wiele instancji jednej aplikacji, należy odpowiednio rozłożyć ruch pomiędzy każdą z nich. Serwisy posiadają zintegrowany load-balancer, który dystrybuuje ruch na wszystkie Pody w Deployment wystawionym na zewnątrz. Serwis prowadzi ciągły monitoring Podów poprzez ich punkty dostępowe <em>(endpoints)</em>, aby zapewnić, że ruch kierowany jest tylko do tych Podów, które są faktycznie dostępne.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i>Skalowanie polega na zmianie liczby replik w ramach Deploymentu.</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p>Kiedy aplikacja ma uruchomioną więcej niż jedną instancję, można prowadzić ciągłe aktualizacje <em>(Rolling updates)</em> bez przerw w działaniu aplikacji. O tym będzie mowa w następnym module.</p>
</div>
</div>
</main>
</div>
</body>
</html>