2015-11-27 16 views
16

Próbuję skonfigurować kernernetes w aws i postępując zgodnie z instrukcjami pod https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/docker-multinodeCo to jest hyperkube?

Nie mogłem zrozumieć, co rozumie się przez hyperkube. Czy ktoś może mi wyjaśnić, co to jest i jak działa?

I jeszcze jedno pytanie mam jest natomiast uruchomienie komendy

sudo docker run \ 
    --volume=/:/rootfs:ro \ 
    --volume=/sys:/sys:ro \ 
    --volume=/dev:/dev \ 
    --volume=/var/lib/docker/:/var/lib/docker:rw \ 
    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \ 
    --volume=/var/run:/var/run:rw \ 
    --net=host \ 
    --privileged=true \ 
    --pid=host \ 
    -d \ 
    gcr.io/google_containers/hyperkube:v${K8S_VERSION} \ 
    /hyperkube kubelet \ 
     --api-servers=http://localhost:8080 \ 
     --v=2 --address=0.0.0.0 --enable-server \ 
     --hostname-override=127.0.0.1 \ 
     --config=/etc/kubernetes/manifests-multi \ 
     --cluster-dns=10.0.0.10 \ 
     --cluster-domain=cluster.local 

jest rozpoczęcie jedną saszetkę domyślnie. Z dokumentacji polecenia wynika, że ​​ma on manifest manifestu z atrybutu --config=/etc/kubernetes/manifests-multi. Ale ten katalog nie jest obecny na moim hoście. czy ktoś może mi powiedzieć, skąd się ten zamysł manifestuje?

Odpowiedz

2

Sam zaczynam swoją podróż kubernetes, ale jeśli spojrzysz na źródło na githubie, zobaczysz, skąd pochodzi hiperkub. Jest wbudowany w rdzeń kubernetes - https://github.com/kubernetes/kubernetes/blob/master/cmd/hyperkube/hyperkube.go

Kubernetes jest przeznaczony do przyjmowania kontenerów na zupełnie nowy poziom i pakowania ich w to, co google pods pods. Hipersześcian - i proszę mnie poprawić, jeśli się mylę, to arch/krux/kręgosłup planowania, tworzenia i zarządzania kontenerami, które tworzą strąk i zasadniczo uruchamia program, stąd nazwa "hyperkube". Co więcej, hyperkube reaguje szybko na zdarzenia i jest w stanie podejmować decyzje w locie w odniesieniu do stanu twojego serwisu/stosu/kontenera/zdrowia gospodarza.

Jeśli chciałbyś mieć łatwy sposób na rozpoczęcie pracy z kubernetes, polecam wypróbowanie ranczera (nie rancherOS), ponieważ Rancherlabs właśnie wdrożyło wdrożenie kubernetes do swoich wbudowanych stosów - również ranczer używa funkcji dokera i jej zawartości wywołuje kompozycję-ranczera - podczas tworzenia stosu/usługi możesz spojrzeć na elementy tworzące ten stos/usługę i kontenery w tym stosie w formacie yml - które pomogą ci lepiej zrozumieć elementy, które powodują Usługi i stosy są uruchomione, a także pomagają rozwiązywać problemy z ręcznymi wdrożeniami - jest to oparte na GUI, ale możesz dodać hosta do dowolnego serwera-rancy, wrzucić kilka stosów logowania, takich jak kabana lub sysdig, a jeśli pracujesz z biblioteki cli - tak długo, jak gospodarz jest zarejestrowany przez ranczera (nie, w ogóle dla nich nie pracuję) - możesz zarejestrować dowolnego gospodarza z ranche r przez dodanie hosta i określenie niestandardowego. Ponadto ranczer może faktycznie zarządzać kernernetami/stosami/woluminami na platformach hostingowych - co jest niesamowite. To świetny sposób na wizualizację i zobaczenie, co dzieje się z twoimi hostami w portach.

Mam nadzieję, że to odpowie na kilka pytań, a także poprowadzi Cię we właściwym kierunku.

Jest decydentem i dawcą życia dla klastra kubernetes.

+0

Dziękuję za odpowiedź. Ale czy możesz wyjaśnić, skąd bierze się domyślna definicja strąka i jak hiperube uruchamia kapsułę? –

2

Jeśli bardziej interesuje Cię posiadanie klastra działającego w AWS, niż przechodzenie przez doświadczenie ręcznego wywoływania każdego komponentu (o co nie powinieneś się martwić, chyba że robisz to ze względu na proces uczenia się), "zdecydowanie zaleca się używanie skryptów" pod klucz "do tworzenia klastra AWS, jako documented here.

Dla każdego, kto patrzy na to pytanie/odpowiedź, istnieje page in the docs on how to choose a cluster creation method that fits your needs.

Jeśli chodzi o twoje pytanie dotyczące hiperkubu, plik konfiguracyjny jest wbudowany w obraz dokowany hyperkube, jak można zobaczyć z its Dockerfile, jeśli jesteś ciekawy.

57

Kubernetes jest zbiorem demonów/binariów:

  • kube-apiproxy (AKA kapitan),
  • kubelet (. Rozpocząć pojemników/stop, sync conf),
  • kube-scheduler (menedżer zasobów)
  • (monitor RC i utrzymywanie żądanego stanu)
  • kube-proxy (udostępnianie usług w każdym węźle)

Plik binarny hyperkube jest wszystko w jednym binarnym (w sposób podobny do busybox), łącząc wszystkie wcześniej oddzielne pliki binarne.

Następujące polecenie:

hyperkube kubelet \ 
    --api-servers=http://localhost:8080 \ 
    --v=2 \ 
    --address=0.0.0.0 \ 
    --enable-server \ 
    --hostname-override=127.0.0.1 \ 
    --config=/etc/kubernetes/manifests-multi \ 
    --cluster-dns=10.0.0.10 \ 
    --cluster-domain=cluster.local 

uruchamia demona kubelet.

+0

To może być zaakceptowana odpowiedź. Krótkie, istotne, do rzeczy. – akauppi