# Funkcjonalność
# Separacja zasobów
Kubernetes pozwala na wydzielanie logicznych grup zasobów przy użyciu namespace, a także przy użyciu ról serwerów.
Namespace pozwala na budowanie abstrakcyjnych środowisk odseparowanych od siebie na poziomie sieciowym oraz uprawnień do zasobów. Przykładem może być utworzenie dwóch namespace o nazwach: dev
i prod
. Do zarządzania danym namespace mogą mieć uprawnienia tylko przypisane osoby, np: deweloperzy i administratorzy.
Role serwerów pozwalają na wydzielenie grup fizycznych (bądź wirtualnych) w celu izolacji zasobów na warstwie sprzętowej. Aplikacje działające w klastrze mogą być przypisane do grupy serwerów i tylko na tych serwerach aplikacja będzie mogła zostać uruchomiona.
# Quota
Limitowanie zasobów jest realizowane poprzez ograniczenie przydziału CPU i RAM, storage oraz ilości tworzonych zasobów. Quota może być tworzona w obrębie danego namespace, albo dla pojedynczego poda.
# Ruch sieciowy
Komunikacja między node'ami odbywa się poprzez sieć prywatną, dostępną tylko w obrębie podłączonych maszyn wirtualnych. Obsługą tej komunikacji zajmuje się stos Canal. Dostarcza on warstwę zwirtualizowanego środowiska sieciowego dla kontenerów. Składa się on z modułu Calico odpowiadającego za bezpieczeństwo sieciowe oraz warstwy zapewniającej komunikację pomiędzy kontenerami Flannel.
# Network Policy
Network Policy służą do zarządzania komunikacją między grupami aplikacji działającymi w klastrze. Ich funkcjonalność można porównać do Firewalla który blokuje ruch, albo go przepuszcza. Reguły tworzone są dla kontenerów.
# Znane ograniczenia
Lista ograniczeń i znanych błędów które zostaną naprawione w najbliższym czasie.
- Na chwilę obecną klaster nie posiada opcji autoskalowania.
- Nie ma możliwości przenoszenia zasobów Persistent Volume (dysków OVS) pomiędzy subregionami. Należy zwrócić na to uwagę przy planowaniu architektury infrastruktury.
- Ze względu na ograniczenia technologiczne zasoby dyskowe podłączane są do maszyny wirtualnej sekwencyjnie.
- Zasób dyskowy nie może zostać powiększony.
- Zmieniając nazwy zasobów klastra w panelu klienta, usuwając je, albo modyfikując w inny sposób użytkownik może sprawić, że klaster przestanie częściowo lub zupełnie działać. Aby uniknąć takiej sytuacji zalecamy korzystanie z panelu zarządzania OKS.
- Wpinanie dużej ilości maszyn wirtualnych do klastra może trwać bardzo długo. Zaleca się usunięcie maszyn, które po dłuższym czasie się nie uruchomią i utworzenie ich ponownie.
- Na obecną chwilę nie są zaimplementowane mechanizmy automatycznej aktualizacji klastra.
- Maszyny wirtualne mają ograniczoną ilość pamięci na głównym dysku przechowującym obrazy. W przypadku zapełnienia się cache dockera worker nie pobierze nowych obrazów. W takim wypadku należy skontaktować się z Oktawave.
- Użytkownik może utworzyć dwa klastry na swoim koncie. W przypadku gdy użytkownik potrzebuje zwiększenia limitu, powinien się skontaktować z Oktawave.
- Klastry na chwilę obecną nie są billingowane, ale dodatkowo na koncie tworzony jest adres IP oraz OPN dedykowany dla danego klastra. Za te zasoby opłaty naliczane są zgodnie z cennikiem.
- Serwisy typu LoadBalancer obsługują tylko jeden port.