Kubernetes - Konfiguracja

Przed skonfigurowaniem Kubernetes należy skonfigurować wirtualne centrum danych (vDC). Można to uznać za zestaw maszyn, na których mogą komunikować się ze sobą za pośrednictwem sieci. Aby uzyskać praktyczne podejście, możesz ustawić vDC naPROFITBRICKS jeśli nie masz skonfigurowanej infrastruktury fizycznej lub chmury.

Po zakończeniu konfiguracji IaaS w dowolnej chmurze musisz skonfigurować Master i Node.

Note- Konfiguracja jest pokazana dla maszyn Ubuntu. To samo można skonfigurować również na innych komputerach z systemem Linux.

Wymagania wstępne

Installing Docker- Docker jest wymagany we wszystkich wystąpieniach Kubernetes. Poniżej przedstawiono kroki, aby zainstalować Docker.

Step 1 - Zaloguj się do komputera za pomocą konta użytkownika root.

Step 2- Zaktualizuj informacje o pakiecie. Upewnij się, że pakiet apt działa.

Step 3 - Uruchom następujące polecenia.

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates

Step 4 - Dodaj nowy klucz GPG.

$ sudo apt-key adv \
   --keyserver hkp://ha.pool.sks-keyservers.net:80 \
   --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
$ echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee
/etc/apt/sources.list.d/docker.list

Step 5 - Zaktualizuj obraz pakietu interfejsu API.

$ sudo apt-get update

Po wykonaniu wszystkich powyższych zadań można rozpocząć właściwą instalację silnika Docker. Jednak zanim to nastąpi, musisz sprawdzić, czy wersja jądra, której używasz, jest poprawna.

Zainstaluj silnik platformy Docker

Uruchom następujące polecenia, aby zainstalować aparat Docker.

Step 1 - Zaloguj się do komputera.

Step 2 - Zaktualizuj indeks pakietu.

$ sudo apt-get update

Step 3 - Zainstaluj aparat Docker za pomocą następującego polecenia.

$ sudo apt-get install docker-engine

Step 4 - Uruchom demona Dockera.

$ sudo apt-get install docker-engine

Step 5 - Aby bardzo, jeśli Docker jest zainstalowany, użyj następującego polecenia.

$ sudo docker run hello-world

Zainstaluj etcd 2.0

Należy to zainstalować na Kubernetes Master Machine. Aby go zainstalować, uruchom następujące polecenia.

$ curl -L https://github.com/coreos/etcd/releases/download/v2.0.0/etcd
-v2.0.0-linux-amd64.tar.gz -o etcd-v2.0.0-linux-amd64.tar.gz ->1
$ tar xzvf etcd-v2.0.0-linux-amd64.tar.gz ------>2
$ cd etcd-v2.0.0-linux-amd64 ------------>3
$ mkdir /opt/bin ------------->4
$ cp etcd* /opt/bin ----------->5

W powyższym zestawie poleceń -

  • Najpierw pobieramy plik etcd. Zapisz to pod określoną nazwą.
  • Następnie musimy odtarować pakiet tar.
  • Robimy reż. wewnątrz / opt o nazwie bin.
  • Skopiuj wyodrębniony plik do lokalizacji docelowej.

Teraz jesteśmy gotowi do budowy Kubernetes. Musimy zainstalować Kubernetes na wszystkich komputerach w klastrze.

$ git clone https://github.com/GoogleCloudPlatform/kubernetes.git
$ cd kubernetes
$ make release

Powyższe polecenie utworzy plik _outputdir w katalogu głównym folderu kubernetes. Następnie możemy wyodrębnić katalog do dowolnego wybranego przez nas katalogu / opt / bin itp.

Następnie pojawia się część dotycząca sieci, w której musimy zacząć od konfiguracji mastera i węzła Kubernetes. W tym celu dokonamy wpisu w pliku hosta, który można wykonać na komputerze węzła.

$ echo "<IP address of master machine> kube-master
< IP address of Node Machine>" >> /etc/hosts

Poniżej będzie wynik powyższego polecenia.

Teraz zaczniemy od rzeczywistej konfiguracji w Kubernetes Master.

Najpierw zaczniemy kopiować wszystkie pliki konfiguracyjne do ich właściwej lokalizacji.

$ cp <Current dir. location>/kube-apiserver /opt/bin/
$ cp <Current dir. location>/kube-controller-manager /opt/bin/
$ cp <Current dir. location>/kube-kube-scheduler /opt/bin/
$ cp <Current dir. location>/kubecfg /opt/bin/
$ cp <Current dir. location>/kubectl /opt/bin/
$ cp <Current dir. location>/kubernetes /opt/bin/

Powyższe polecenie skopiuje wszystkie pliki konfiguracyjne do wymaganej lokalizacji. Teraz wrócimy do tego samego katalogu, w którym zbudowaliśmy folder Kubernetes.

$ cp kubernetes/cluster/ubuntu/init_conf/kube-apiserver.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-controller-manager.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-kube-scheduler.conf /etc/init/

$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-apiserver /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-controller-manager /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-kube-scheduler /etc/init.d/

$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/

Następnym krokiem jest aktualizacja skopiowanego pliku konfiguracyjnego w / etc. reż.

Skonfiguruj etcd na urządzeniu głównym za pomocą następującego polecenia.

$ ETCD_OPTS = "-listen-client-urls = http://kube-master:4001"

Skonfiguruj kube-apiserver

W tym celu na wzorcu musimy edytować plik /etc/default/kube-apiserver plik, który skopiowaliśmy wcześniej.

$ KUBE_APISERVER_OPTS = "--address = 0.0.0.0 \
--port = 8080 \
--etcd_servers = <The path that is configured in ETCD_OPTS> \
--portal_net = 11.1.1.0/24 \
--allow_privileged = false \
--kubelet_port = < Port you want to configure> \
--v = 0"

Skonfiguruj menedżera kontrolera kube

Musimy dodać następującą zawartość w /etc/default/kube-controller-manager.

$ KUBE_CONTROLLER_MANAGER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--machines = kube-minion \ -----> #this is the kubernatics node
--v = 0

Następnie skonfiguruj harmonogram Kube w odpowiednim pliku.

$ KUBE_SCHEDULER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--v = 0"

Gdy wszystkie powyższe zadania zostaną ukończone, możemy przejść dalej i przywołać Kubernetes Master. W tym celu zrestartujemy Dockera.

$ service docker restart

Konfiguracja węzła Kubernetes

Węzeł Kubernetes będzie uruchamiał dwie usługi kubelet and the kube-proxy. Zanim przejdziemy dalej, musimy skopiować pliki binarne, które pobraliśmy do ich wymaganych folderów, w których chcemy skonfigurować węzeł kubernetes.

Użyj tej samej metody kopiowania plików, którą zrobiliśmy dla wzorca kubernetes. Ponieważ będzie uruchamiać tylko kubelet i kube-proxy, skonfigurujemy je.

$ cp <Path of the extracted file>/kubelet /opt/bin/
$ cp <Path of the extracted file>/kube-proxy /opt/bin/
$ cp <Path of the extracted file>/kubecfg /opt/bin/
$ cp <Path of the extracted file>/kubectl /opt/bin/
$ cp <Path of the extracted file>/kubernetes /opt/bin/

Teraz skopiujemy treść do odpowiedniego reż.

$ cp kubernetes/cluster/ubuntu/init_conf/kubelet.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-proxy.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kubelet /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-proxy /etc/init.d/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/

Skonfigurujemy kubelet i kube-proxy conf akta.

Skonfigurujemy /etc/init/kubelet.conf.

$ KUBELET_OPTS = "--address = 0.0.0.0 \
--port = 10250 \
--hostname_override = kube-minion \
--etcd_servers = http://kube-master:4001 \
--enable_server = true
--v = 0"
/

W przypadku kube-proxy skonfigurujemy za pomocą następującego polecenia.

$ KUBE_PROXY_OPTS = "--etcd_servers = http://kube-master:4001 \
--v = 0"
/etc/init/kube-proxy.conf

Na koniec zrestartujemy usługę Docker.

$ service docker restart

Teraz skończyliśmy konfigurację. Możesz to sprawdzić, uruchamiając następujące polecenia.

$ /opt/bin/kubectl get minions