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
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.
Te instrukcje przeprowadzą Cię przez podstawowe kroki konfiguracji serwera dla hostingu izolowanych kontenerów Linux. Skonfigurujemy następujące funkcje:
ssh [email protected]
issh [email protected]
Niniejszy przewodnik zakłada, że:
Na koniec samouczka otrzymamy dwa wirtualne kontenery, które będą miały dostęp do Internetu, ale nie będą mogły pingować się nawzajem. Skonfigurujemy również przekierowanie portów z example.com
do kontenerów. Wdrożymy bezpieczny panel konfiguracji i zarządzania za pomocą narzędzi z pakietu Proxmox.
Będziemy używać Proxmox tylko do zarządzania kontenerami LXC. Zasadniczo obsługuje również KVM, ale zagnieżdżanie wirtualizacji jest zabronione w Vultr. Przed rozpoczęciem należy pobrać Proxmox ISO z oficjalnej strony internetowej. Użyjemy Proxmox VE 5.0 ISO Installer
. Zainstaluj system operacyjny z obrazu z domyślnymi ustawieniami i uruchom ponownie maszynę wirtualną. Ponadto możesz ręcznie zainstalować proxy ze źródeł, ale w większości przypadków nie jest to konieczne (postępuj zgodnie z instrukcjami tutaj ).
Połącz się z hostem przez SSH, zaktualizuj listę szablonów proxy i pobierz odpowiedni szablon dla kontenerów.
apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz
Teraz musimy utworzyć kontener linux z interfejsem sieciowym podłączonym do mostu linux. Otwórz /etc/network/interfaces
i dodaj następujące wiersze:
auto vmbr1
iface vmbr1 inet static
address 10.100.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
Po ponownym uruchomieniu systemu możesz utworzyć nowy kontener z Ubuntu 14.04
szablonu.
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.200/24,gw=10.100.0.1
Możesz zweryfikować swój kontener za pomocą pct list
, uruchomić kontener # 200 za pomocą pct start 200
i wprowadzić jego powłokę za pomocą pct enter 200
. Możesz także zweryfikować ustawienia sieciowe i adresy za pomocą ip addr
.
Aby zapewnić połączenie internetowe w twoim kontenerze, musimy je włączyć NAT
. Poniższe informacje pozwolą na przesyłanie ruchu z kontenera do Internetu za pomocą technologii NAT. vmbr0
Mostek jest połączony z zewnętrznym interfejsem i vmbr1
mostek jest połączony z pojemników.
sysctl -w net.ipv4.ip_forward=1
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
iptables --append FORWARD --in-interface vmbr1 -j ACCEPT
Wprowadź kontener za pomocą pct enter 200
i skonfiguruj serwer WWW w środku.
apt-get update
apt-get install nginx
service nginx start
exit
Teraz musimy skonfigurować Nginx na twoim serwerze, aby proxy stron internetowych do kontenerów.
apt-get update
apt-get install nginx
Utwórz nowy plik konfiguracyjny /etc/nginx/sites-available/box200
o następującej treści:
server {
listen 80;
server_name server200.example.com;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://10.100.0.200/;
}
}
Nginx będzie teraz proxy dla każdego żądania HTTP server200.example.com
z twojego serwera do kontenera o IP 10.100.0.200. Aktywuj tę konfigurację.
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
Jeśli chcesz zapewnić łatwy dostęp do piaskownic, musisz przekazać sesje SSH do kontenerów. Aby to zrobić, utwórz nowego użytkownika na serwerze głównym. Nie zapomnij wprowadzić hasła, inne parametry nie są konieczne.
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
Skopiuj ten klucz SSH i wprowadź kontener, aby dołączyć klucz.
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
Na serwerze dodaj następujący wiersz do .ssh/authorized_keys
pliku.
command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
Nie zapomnij zmienić <YOUR SSH KEY>
na domowy klucz publiczny. Alternatywnie możesz uruchomić następujące polecenie z wiersza poleceń.
echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
Następnie możesz połączyć się z piaskownicą za pomocą ssh.
`ssh box200@<your_server_IP>`
Czas wprowadzić kilka ulepszeń bezpieczeństwa. Najpierw chcemy zmienić domyślny port SSH. Następnie chcemy zabezpieczyć naszą stronę zarządzania Proxmox za pomocą podstawowego uwierzytelniania HTTP.
nano /etc/ssh/sshd_config
Odkomentuj i zmień linię
#Port 22
do
Port 24000
Uruchom ponownie ssh.
service ssh restart
Połącz się ponownie z ssh z nowym portem.
ssh root@<your_IP> -p 24000
Utwórz plik /etc/default/pveproxy
.
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
Uruchom ponownie, pveproxy
aby zmiany zaczęły obowiązywać.
/etc/init.d/pveproxy restart
Skonfiguruj nginx (jeśli nie zrobiłeś tego wcześniej).
apt-get install nginx
service nginx restart
Utwórz domyślną konfigurację w /etc/nginx/site-available/default
.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
#auth_basic "Restricted";
#auth_basic_user_file htpasswd;
#location / { proxy_pass https://127.0.0.1:8006; }
}
Uzyskaj prawidłowy certyfikat SSL i zaktualizuj konfigurację nginx. Na przykład można to zrobić za pomocą certbox i letsencrypt. Aby uzyskać więcej informacji, kliknij tutaj .
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
Teraz twoja konfiguracja nginx powinna wyglądać tak (lub możesz ją później zmienić ręcznie). Nie zapomnij odkomentować wierszy ssl, auth i location.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
ssl on;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
location / { proxy_pass https://127.0.0.1:8006; }
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
}
Utwórz /etc/htpasswd
plik za pomocą generatora Htpasswd .
nano /etc/nginx/htpasswd
Uruchom ponownie Nginx
service nginx restart
Możesz teraz wyświetlić konsolę zarządzania https://example.com
po podstawowym uwierzytelnieniu.
Kontenery są teraz dostępne przez żądania HTTP i SSH. Teraz możemy skonfigurować przekierowanie portów z zewnętrznego serwera do kontenerów. Na przykład do mapowania w example.com:8080
celu 10.100.0.200:3000
wprowadzenia następujących danych.
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
Możesz zobaczyć aktualne zasady.
`iptables -t nat -v -L PREROUTING -n --line-number`
Możesz także usunąć regułę według numeru, korzystając z następujących elementów.
`iptables -t nat -D PREROUTING <#>`.
Możemy teraz uzyskać dostęp do jednego kontenera z drugiego.
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.250/24,gw=10.100.0.1
pct start 250
pct enter 250
ping 10.100.0.200
Jeśli chcesz ograniczyć dostęp z kontenera 250 do 200, musisz podłączyć każdy kontener do osobistego mostu i wyłączyć przekazywanie między mostami.
Usuń istniejące kontenery.
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
Zmień zawartość /etc/network/interfaces
.
auto vmbr1
iface vmbr1 inet static
address 10.100.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
auto vmbr2
iface vmbr2 inet static
address 10.100.2.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
reboot
system
Włącz przekazywanie
`sysctl -w net.ipv4.ip_forward=1`
Aby wprowadzić te zmiany na stałe, możesz edytować /etc/sysctl.conf
plik i znaleźć następujący tekst.
#net.ipv4.ip_forward=1
Odkomentuj to.
net.ipv4.ip_forward=1
Możesz także uruchomić, sysctl -p
aby zmiany zostały wprowadzone natychmiast.
Utwórz kontenery.
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.1.200/24,gw=10.100.1.1
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr2,ip=10.100.2.250/24,gw=10.100.2.1
Uruchom pojemniki za pomocą pct start 200
i pct start 250
.
Opróżnij iptables
zasady.
iptables -F
Włącz NAT.
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0
to most, który zawiera interfejs zewnętrzny.
Zezwól na przekazywanie z zewnętrznego interfejsu.
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
Zezwól na przekazywanie z kontenerów do Internetu.
iptables -A FORWARD -i vmbr1 -o vmbr0 -s 10.100.1.0/24 -j ACCEPT
iptables -A FORWARD -i vmbr2 -o vmbr0 -s 10.100.2.0/24 -j ACCEPT
Upuść inne przekazywanie.
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
Teraz sprawdź, czy 10.100.1.200
można pingować, 8.8.8.8
ale nie można pingować 10.100.2.250
i że 10.100.2.250
można pingować, 8.8.8.8
ale nie można pingować 10.100.1.200
.
Ważna jest kolejność poleceń związanych z iptables. Najlepszym sposobem działania reguł jest użycie iptables-persistent
. Ten pakiet pomaga zapisać reguły iptables w plikach /etc/iptables/rules.v4
i /etc/iptables/rules.v6
może automatycznie załadować je po ponownym uruchomieniu systemu. Po prostu zainstaluj go z następującymi.
apt-get install iptables-persistent
Wybierz, YES
gdy pojawi się monit.
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
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.