# 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.