Wdróż Kubernetes za pomocą Kubeadm na CentOS 7
Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery
W tym przewodniku pokazano, jak utworzyć i skonfigurować rój Docker przy użyciu wielu serwerów Alpine Linux 3.9.0 i Portainer. Należy pamiętać, że Vultr oferuje aplikację dokującą One-Click, która obecnie obsługuje zarówno CentOS 7 x64, jak i Ubuntu 16.04 x64.
Aby rozpocząć, potrzebujesz co najmniej dwóch serwerów VC2 z systemem Alpine Linux 3.9.0. W roju Docker jeden z tych serwerów będzie działał jako manager nodeinterfejs z sieciami zewnętrznymi i delegowanie zadań do węzłów roboczych. Drugi serwer będzie wówczas działał jako worker node- wykonywanie zadań przekazanych mu przez węzeł menedżera.
Pamiętaj, że możesz uruchomić więcej niż dwa serwery, jeśli aplikacja wymaga redundancji i / lub większej mocy obliczeniowej, a kroki opisane w tym przewodniku nadal będą miały zastosowanie.
Odwiedź interfejs wdrażania serwera Vultr .
Upewnij się, że Vultr Cloud (VC2)karta jest zaznaczona u góry strony.
Możesz wybrać dowolną lokalizację z Server Locationsekcji, jednak wszystkie serwery muszą znajdować się w tej samej lokalizacji , w przeciwnym razie nie będzie można zainstalować na nich roju Docker.
Wybierz ISO Libraryzakładkę Server Typesekcji i wybierz Alpine Linux 3.9.0 x86_64obraz.
Wybierz odpowiednią opcję z Server Sizesekcji. W tym przewodniku zostanie wykorzystany rozmiar serwera SSD 25 GB, ale może to być niewystarczające do spełnienia wymagań dotyczących zasobów aplikacji. Podczas gdy Vultr ułatwia aktualizację rozmiaru serwera po jego uruchomieniu, nadal powinieneś dokładnie zastanowić się, który rozmiar serwera musi optymalnie działać.
W Additional Featuressekcji musisz wybrać Enable Private Networkingopcję. Podczas gdy inne opcje nie są wymagane, aby postępować zgodnie z tym przewodnikiem, należy rozważyć, czy każda z nich ma sens w kontekście aplikacji.
Jeśli wcześniej włączyłeś tę Multiple Private Networksopcję na swoim koncie, musisz albo wybrać istniejącą, albo utworzyć nową prywatną sieć dla swoich serwerów. Jeśli go nie włączyłeś, możesz zignorować tę sekcję. Aby uzyskać informacje na temat ręcznej konfiguracji sieci prywatnych, zobacz ten przewodnik .
Na razie pomiń tę Firewall Groupsekcję. Tylko serwer działający jako węzeł menedżera w roju Docker będzie potrzebował odsłoniętych portów, co należy skonfigurować po wdrożeniu serwera.
Na samym dole strony musisz wpisać Server Qtyco najmniej dwa. Jak wspomniano wcześniej, możesz potrzebować więcej niż dwóch serwerów, ale dwa wystarczą, aby postępować zgodnie z tym przewodnikiem.
Na koniec w Server Hostname & Labelsekcji wprowadź znaczące i niezapomniane nazwy hostów i etykiety dla każdego serwera. Dla celów tego przewodnika, nazwa hosta i etykieta z pierwszego serwera będzie docker-manageri Docker Manager, respectively- a docker-workeri Docker Workerza sekundę, odpowiednio.
Po dwukrotnym sprawdzeniu wszystkich konfiguracji możesz kliknąć Deploy Nowprzycisk u dołu strony, aby uruchomić serwery.
Ponieważ wybrałeś system operacyjny z biblioteki ISO Vultr, musisz ręcznie zainstalować i skonfigurować Alpine Linux 3.9.0 na każdym serwerze.
Po przyznaniu Vultrowi minuty lub dwóch na przydzielenie serwerów, kliknij ikonę potrójnej kropki more optionsdla Docker Managerserwera w interfejsie zarządzania serwerem , a następnie wybierz View Consoleopcję.
Powinieneś zostać przekierowany do konsoli z monitem logowania. Jeśli nie, poczekaj minutę, aż Vultr zakończy wdrażanie serwerów.
Po wyświetleniu monitu wprowadź rootnazwę użytkownika. Wersja na żywo Alpine Linux 3.9.0 (która jest obecnie uruchomiona przez twoje serwery) nie wymaga od administratora wprowadzenia hasła podczas logowania.
Po pomyślnym zalogowaniu się do konta root zobaczysz komunikat powitalny, a następnie monit powłoki, który wygląda następująco:
localhost:~#
Aby uruchomić instalator Alpine Linux, wprowadź następujące polecenie:
# setup-alpine
Najpierw wybierz odpowiedni układ klawiatury. W tym przewodniku zostanie użyty usukład i wariant.
Ustawiając nazwę hosta, wybierz tę samą nazwę hosta, którą ustawiłeś dla tego serwera podczas wdrażania. Jeśli dokładnie przestrzegałeś tego przewodnika, nazwa hosta powinna być docker-manager.
Powinny być dostępne dwa interfejsy sieciowe: eth0i eth1. Jeśli widzisz tylko eth0, oznacza to, że nie skonfigurowałeś poprawnie sieci prywatnej swoich serwerów. Zainicjuj eth0za pomocą dhcpi zainicjuj eth1za pomocą prywatnego adresu IP, maski sieci i bramy, do której serwer ten został przypisany podczas wdrażania. Możesz uzyskać dostęp do tych danych z interfejsu ustawień swojego serwera. Po wyświetleniu monitu nie wykonuj ręcznej konfiguracji sieci.
Wprowadź nowe hasło do konta root, a następnie wybierz strefę czasową odpowiednią dla lokalizacji, w której chcesz wdrożyć te serwery.
Jeśli zamierzasz używać serwera proxy HTTP / FTP, wprowadź jego adres URL, w przeciwnym razie nie ustawiaj adresu URL serwera proxy.
Wybierz klienta NTP do zarządzania synchronizacją zegara systemowego. Ten przewodnik będzie korzystać busybox.
Gdy zostaniesz poproszony o użycie kopii dystrybucyjnej repozytorium pakietów, wybierz jedną jawnie, wprowadzając jej numer; automatycznie wykrywa i wybiera najszybszy, wprowadzając f; lub ręcznie edytuj plik konfiguracyjny repozytorium, wprowadzając e, co nie jest zalecane, chyba że znasz Alpine Linux. Ten przewodnik użyje pierwszego lustra.
Jeśli planujesz używać SSH do uzyskiwania dostępu do serwerów lub do obsługi systemu plików opartego na SSH, wybierz serwer SSH, którego chcesz użyć. Ten przewodnik będzie korzystać openssh.
Po wyświetleniu monitu o użycie dysku wybierz dysk vdajako systyp.
Alpine Linux 3.9.0 powinien być teraz zainstalowany na twoim serwerze. Powtórz ten proces dla wszystkich innych serwerów, które wdrożyłeś wcześniej, upewniając się, że podałeś poprawne wartości dla nazwy hosta i eth1interfejsu sieciowego.
W tym momencie na twoich serwerach nadal działa wersja ISO Alpine Linux 3.9.0 na żywo. Aby uruchomić z instalacji SSD, przejdź do interfejsu ustawień serwera, przejdź do pozycji Custom ISOmenu bocznego i kliknij Remove ISOprzycisk. To powinno zrestartować serwer. Jeśli nie, to ręcznie uruchom ponownie.
Po zrestartowaniu serwera przejdź z powrotem do konsoli internetowej serwera Docker Manager.
Zaloguj się do konta root przy użyciu hasła ustawionego wcześniej podczas procesu instalacji.
Włącz repozytorium pakietów społeczności, odznaczając trzecią linię /etc/apk/repositorieskorzystania vi. Możesz włączyć repozytorium brzegowe i testowe w podobny sposób, ale nie muszą one postępować zgodnie z tym przewodnikiem.
Zsynchronizuj indeks lokalnego pakietu serwera ze zdalnym repozytorium, które wybrałeś wcześniej, wprowadzając następujące polecenie powłoki:
# apk update
Następnie zaktualizuj nieaktualne pakiety:
# apk upgrade
Tak jak poprzednio, powtórz ten proces konfiguracji dla każdego wcześniej wdrożonego serwera.
Przed zainstalowaniem samego pakietu Docker możesz utworzyć osobnego dockerużytkownika. Możesz to zrobić za pomocą następującego polecenia:
# adduser docker
Uwaga: Ten nowy użytkownik i wszyscy użytkownicy dodani do nowej dockergrupy będą mieli uprawnienia roota po zainstalowaniu pakietu Docker. Zobacz następujący problem z repozytorium Moby Github:
Ze względu na
--privilegedwbudowane okno dokowane każda osoba dodana do grupy „dokera” jest odpowiednikiem root. Każdy w grupie dokerów ma tylne drzwi wokół wszystkich zasad eskalacji uprawnień i kontroli w systemie.Różni się to od tego, że ktoś jest w stanie uruchomić sudo w celu rootowania, gdzie mają zasady i stosuje się do nich audyt.
Jeśli chcesz zezwolić dockerużytkownikowi na sudo , najpierw zainstaluj sudopakiet:
# apk add sudo
Następnie utwórz sudogrupę:
# addgroup sudo
Na koniec dodaj dockerużytkownika do sudogrupy:
# adduser docker sudo
Teraz możesz wykonać krok 4 tego przewodnika, aby zakończyć konfigurację sudo.
W tym momencie możesz już zainstalować pakiet Docker. Należy pamiętać, że osobny dockerużytkownik z obsługą sudo nie musi instalować i konfigurować Dockera, ale ten przewodnik jest zgodny z tą konwencją.
Zainstaluj pakiet Docker za pomocą następującego polecenia:
# apk add docker
Następnie włącz skrypt inicjujący Docker:
# rc-update add docker
Na koniec uruchom demona Dockera:
# rc-service docker start
Możesz sprawdzić, czy Docker działa za pomocą tego polecenia:
# docker info
Podobnie jak ostatnio, powtórz ten proces instalacji Dockera dla każdego serwera, który został wdrożony na początku.
Po wykonaniu wszystkich tych czynności w końcu jesteś gotowy do stworzenia roju Dockerów.
Wróć do konsoli internetowej swojego Docker Managerserwera. Skonfigurujesz ten serwer jako węzeł menedżera w swoim roju. Jeśli zdecydowałeś się utworzyć dockerużytkownika wcześniej, zaloguj się przy użyciu tego konta, a nie administratora.
Wpisz następujące polecenie, ale zamień 192.0.2.1na prywatny (nie publiczny) adres IP, który Docker Managerzostał przypisany Twojemu serwerowi:
$ docker swarm init --advertise-addr 192.0.2.1
Docker wyświetli polecenie, które można wykonać na innych serwerach w sieci prywatnej, aby dodać je jako węzły robocze do tego nowego roju. Zapisz to polecenie.
Teraz przejdź do konsoli internetowej swojego Docker Workerserwera, logując się z dockerużytkownikiem, jeśli go utworzyłeś.
Aby dodać ten serwer jako węzeł roboczy do właśnie utworzonego roju, wykonaj polecenie zapisane w danych wyjściowych polecenia tworzenia roju. Będzie wyglądał podobnie do następującego:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Docker wyświetli informację, czy węzeł mógł dołączyć do roju. Jeśli wystąpią problemy z dodawaniem węzłów roboczych do roju, sprawdź dwukrotnie konfigurację sieci prywatnej i zapoznaj się z tym przewodnikiem, aby uzyskać informacje na temat rozwiązywania problemów.
Jeśli wdrożyłeś więcej niż dwa serwery na początku, możesz dodać resztę jako węzły robocze do swojego roju za pomocą powyższego polecenia, zwiększając ilość zasobów dostępnych dla twojej aplikacji. Alternatywnie możesz dodać dodatkowe węzły menedżera, ale wykracza to poza zakres tego przewodnika.
W tym momencie rój Dockerów jest gotowy do użycia. Możesz jednak opcjonalnie uruchomić stos Portainera w węźle menedżera w swoim roju. Portainer oferuje wygodny interfejs sieciowy do zarządzania twoim rojem i zawartymi w nim węzłami.
Nadszedł czas, aby utworzyć grupę zapory dla twojego roju. O ile aplikacja tego nie wymaga, ujawniaj porty tylko w węzłach menedżera . Ujawnienie portów w węzłach roboczych bez starannego rozważenia może wprowadzić luki w zabezpieczeniach.
Przejdź do interfejsu zarządzania zaporą i utwórz nową grupę zapory. Twoja aplikacja powinna dyktować, które porty mają zostać ujawnione, ale musisz przynajmniej ujawnić port 9000dla Portainer. Zastosuj tę grupę zapory na Docker Managerserwerze.
Chociaż nie jest to wymagane, zdecydowanie zaleca się zabezpieczenie Portainer za pomocą protokołu SSL. Ze względu na ten przewodnik będziesz używać tylko podpisanego certyfikatu OpenSSL, ale powinieneś rozważyć użycie Let's Encrypt w środowisku produkcyjnym.
Przejdź do konsoli internetowej Docker Managerserwera, zaloguj się za pomocą dockerużytkownika i użyj następujących poleceń, aby wygenerować samopodpisany certyfikat OpenSSL:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
Utwórz nowy plik ~/portainer-agent-stack.ymlo następującej treści:
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
Po zmodyfikowaniu tego pliku konfiguracyjnego stosu Docker zgodnie z wymaganiami można go wdrożyć:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Aby sprawdzić, czy Portainer działa, wykonaj następujące polecenie po tym, jak Docker poświęcił minutę lub dwie na wdrożenie stosu:
$ docker ps
Zobaczysz dwa kontenery z obrazami portainer/portainer:latesti portainer/agent:latest, sprawdzając, czy Portainer zaczął poprawnie.
Możesz teraz konfigurować i zarządzać swoim rojem Docker, odwiedzając publiczny adres IP swojego Docker Managerserwera na porcie 9000za pomocą HTTPS.
Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery
Wprowadzenie Docker to aplikacja, która pozwala nam wdrażać programy działające jako kontenery. Został napisany w popularnym języku programowania Go
Używasz innego systemu? Docker to aplikacja umożliwiająca wdrażanie oprogramowania w wirtualnych kontenerach. Został napisany w programie Go
Używasz innego systemu? Wprowadzenie Rancher to platforma typu open source do uruchamiania kontenerów i budowania prywatnej usługi kontenerowej. Ranczer jest podstawą
W tym artykule wyjaśniono, jak zainstalować program dokujący-komponuj w CoreOS. W CoreOS folder / usr / jest niezmienny, więc standardowa ścieżka / usr / local / bin jest niedostępna
Wszyscy znamy i kochamy Docker, platformę do tworzenia, zarządzania i dystrybucji kontenerów aplikacji na wielu komputerach. Docker Inc. świadczy usługę t
Używasz innego systemu? Wprowadzenie Rancher to platforma typu open source do uruchamiania kontenerów i budowania prywatnej usługi kontenerowej. Ranczer jest podstawą
Używasz innego systemu? Wprowadzenie Sentry to rozwiązanie typu open source do śledzenia błędów. Sentry śledzi wyjątki i inne przydatne wiadomości
Harbor to serwer rejestru klasy korporacyjnej typu open source, który przechowuje i dystrybuuje obrazy Docker. Harbor rozszerza dystrybucję Docker typu open source b
Używasz innego systemu? Wprowadzenie Docker Swarm zamienia poszczególne serwery w klaster komputerów, ułatwiając skalowanie, wysoką dostępność i
Za pomocą aplikacji Vultr Docker można łatwo wdrożyć Docker na instancji serwera Vultr. W międzyczasie możesz ułatwić zadanie zarządzania Docker
Przegląd RancherOS to niezwykle lekki system operacyjny (tylko około 60 MB), który uruchamia demona Docker systemowego jako PID 0 do uruchamiania usług systemowych
Kontenery LXC (kontenery Linux) to funkcja systemu operacyjnego w systemie Linux, której można używać do uruchamiania wielu izolowanych systemów Linux na jednym hoście. Thes
Aplikacje PHP zwykle składają się z serwera WWW, systemu relacyjnej bazy danych i samego tłumacza języka. W tym samouczku będziemy korzystać z dźwigni
Kubernetes to platforma open source opracowana przez Google do zarządzania aplikacjami kontenerowymi w klastrze serwerów. Opiera się na dekadzie i
W tym samouczku wyjaśniono podstawy rozpoczęcia korzystania z Docker. Zakładam, że masz już zainstalowany Docker. Kroki w tym samouczku będą działać na
Podczas uruchamiania aplikacji sieciowej zwykle chcesz maksymalnie wykorzystać zasoby bez konieczności konwertowania oprogramowania na wielowątkowość
Wymagania wstępne Silnik Docker 1.8+. Minimum 4 GB miejsca na dysku. Minimum 4 GB pamięci RAM. Krok 1. Zainstaluj Docker Aby zainstalować SQL-Server, Docker mus
Używasz innego systemu? Wprowadzenie Docker to aplikacja umożliwiająca wdrażanie oprogramowania w wirtualnych kontenerach. Został napisany w G
Używasz innego systemu? Docker to aplikacja umożliwiająca wdrażanie programów uruchamianych jako kontenery. Został napisany w popularnym programie Go
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.