web-dev-qa-db-fra.com

comment obtenir les nœuds minikube dans un cluster local

Im essayant de mettre en place un cluster local en utilisant VM et minikube, car l'ID lit sa seule possibilité de l'utiliser à des fins locales, mais j'aime rejoindre une machine secondaire et je cherche un moyen pour créer la jointure et le hachage.

9
Antonio

Vous pouvez facilement le faire si votre machine minikube utilise VirtualBox.

  1. Démarrez le minikube:

    $ minikube start --vm-driver="virtualbox"
    
  2. Vérifiez les versions de kubeadm, kubelet et kubectl dans minikube et imprimez la commande join:

    $ kubectl version
    
    $ minikube ssh
    $ kubelet --version
    $ kubeadm token create --print-join-command
    
  3. Créez un nouveau VM dans VirtualBox. J'ai utilisé Vagrant pour créer Ubuntu 16lts VM pour ce test. Vérifiez que le minikube et le nouveau VM sont dans le même réseau Host = only VM. Vous pouvez utiliser tout ce qui vous convient le mieux, mais la procédure d'installation des packages serait différente pour différentes distributions Linux.

  4. (Sur la nouvelle machine virtuelle.) Ajouter un référentiel avec Kubernetes:

    $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
    $ cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    deb http://apt.kubernetes.io/ kubernetes-xenial main
    EOF
    $ apt-get update
    
  5. (Sur la nouvelle VM.) Installez la même version de kubelet kubeadm et d'autres outils sur la nouvelle VM (1.10.0 dans mon cas)

    $ apt-get -y install ebtables ethtool docker.io apt-transport-https kubelet=1.10.0-00 kubeadm=1.10.0-00
    
  6. (Sur la nouvelle VM.) Utilisez votre commande join à partir de l'étape 2. L'adresse IP doit provenir du VM Host-Only-Network. Seulement avoir des réseaux Nat n'a pas bien fonctionné dans mon cas .

    $ kubeadm join 192.168.xx.yy:8443 --token asdfasf.laskjflakflsfla --discovery-token-ca-cert-hash sha256:shfkjshkfjhskjfskjdfhksfh...shdfk
    
  7. (Sur l'hôte principal) Ajoutez une solution réseau au cluster:

    $ kubectl apply -f https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml
    
  8. (Sur l'hôte principal) Vérifiez vos nœuds et pods à l'aide de kubectl:

    $ kubectl get nodes:
    
    NAME            STATUS    ROLES     AGE       VERSION
    minikube        Ready     master    1h        v1.10.0
    ubuntu-xenial   Ready     <none>    36m       v1.10.0
    
    $ kubectl get pods --all-namespaces -o wide
    NAMESPACE     NAME                                       READY     STATUS    RESTARTS   AGE       IP           NODE
    kube-system   calico-etcd-982l8                          1/1       Running   0          10m       10.0.2.15    minikube
    kube-system   calico-kube-controllers-79dccdc4cc-66zxm   1/1       Running   0          10m       10.0.2.15    minikube
    kube-system   calico-node-9sgt5                          1/2       Running   13         10m       10.0.2.15    ubuntu-xenial
    kube-system   calico-node-qtpg2                          2/2       Running   0          10m       10.0.2.15    minikube
    kube-system   etcd-minikube                              1/1       Running   0          1h        10.0.2.15    minikube
    kube-system   heapster-6hmhs                             1/1       Running   0          1h        172.17.0.4   minikube
    kube-system   influxdb-grafana-69s5s                     2/2       Running   0          1h        172.17.0.5   minikube
    kube-system   kube-addon-manager-minikube                1/1       Running   0          1h        10.0.2.15    minikube
    kube-system   kube-apiserver-minikube                    1/1       Running   0          1h        10.0.2.15    minikube
    kube-system   kube-controller-manager-minikube           1/1       Running   0          1h        10.0.2.15    minikube
    kube-system   kube-dns-86f4d74b45-tzc4r                  3/3       Running   0          1h        172.17.0.2   minikube
    kube-system   kube-proxy-vl5mq                           1/1       Running   0          1h        10.0.2.15    minikube
    kube-system   kube-proxy-xhv8s                           1/1       Running   2          35m       10.0.2.15    ubuntu-xenial
    kube-system   kube-scheduler-minikube                    1/1       Running   0          1h        10.0.2.15    minikube
    kube-system   kubernetes-dashboard-5498ccf677-7gf4j      1/1       Running   0          1h        172.17.0.3   minikube
    kube-system   storage-provisioner                        1/1       Running   0          1h        10.0.2.15    minikube
    
20
VAS

Ce n'est pas possible avec minikube. Avec minikube, le domaine d'exploitation est un ordinateur portable unique ou une machine locale. Vous ne pouvez pas rejoindre un nœud supplémentaire, vous devrez créer un cluster entier en utilisant quelque chose comme kubeadm

2
jaxxstorm