1. Préparation de l'environnement
1.1 installer le menu fixe
Utilisez la commande yum-config-manager, vous devez déployer :
yum -y install yum-utils
load docker repo
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker- ce.repo
Sélectionnez la version
yum list docker-ce --showduplicates | sort -r
Installez docker
yum installez docker-ce-18.06.1.ce
Vérifier la version du menu fixe
docker --version
Démarrer
systemctl démarrer docker
Configurer Docker pour qu'il démarre automatiquement au démarrage
systemctl enable docker
1.2 Paramétrage du système
K8s active le paramètre de noyau bridge-nf-call-iptables
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
check
cat /proc/sys /net/bridge/bridge-nf-call-iptables
1.3 Paramètres sans mot de passe
ssh-keygen -t rsa
Si vous devez encore saisir un mot de passe, vérifiez le journal ou les autorisations : cat /var/log/secure
chmod 755 /root
chmod 700 /root/.ssh
chmod 600 ~/.ssh/authorized_keys
2. Déployer le cluster k8s
2.1 installer cubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
installer - o root -g root -m 0755 kubectl /usr/local/bin/kubectl
2.2 Installer RKE
https://github.com/rancher/rke/releases
mv rke_linux-amd64 rke
chmod +x rke
ln -s rke /usr/bin/rke
==> mkdir /home/rancher/opt
cp rke /home/rancher/opt
cd /usr/bin
rm -f rke
ln -s /home/rancher/opt/rke rke
2.3 Créer un fichier de configuration de cluster
vim rancher-cluster.yml
nœuds :
- adresse : 11.11.17.17
adresse_interne : 192.168.0.22 utilisateur : rôle
racine : [plan de contrôle, travailleur, etcd] - adresse : 11.11.20.49 adresse_interne : 192.168.0.60 utilisateur : rôle racine : [plan de contrôle, travailleur, etcd] - adresse : 11.11.20.21 adresse_interne : 192.168.0.18 utilisateur : rôle racine : [plan de contrôle, travailleur, etcd]
services :
etcd :
snapshot : vrai
création : 6h
rétention : 24h
# Requis pour la terminaison TLS externe avec
# ingress-nginx v0.22+
ingress : provider : options
nginx : use-forwarded-headers : "true"
2.4 Exécution de RKE
rke up --config rancher-cluster.yml
3. Résumé du problème
Question 1 :
WARN[0000] Échec de la configuration du tunnel SSH pour l'hôte [11.11.21.21] : impossible de
récupérer
les
informations
Docker est le même que le nom d'utilisateur
dans Exécuter sous l'utilisateur de l'éleveur, non
Résumé : problèmes de communication entre les nœuds
Question 2 : Erreur
: ssh : échec de la poignée de main : ssh : impossible d'authentifier, méthodes tentées [aucune clé publique], aucune méthode prise en charge ne reste
. rsa ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] ne fonctionne pas usermod rancher -G docker pour modifier le fichier yml et ouvrir le port 6443 pour l'utilisateur : rancher
cd /opt
rm -f rke
ré-exécuter : rke up --config yml
Ouvrir le port 10248
Question 3 : réseau d'exécution non prêt : NetworkReady=false raison : NetworkPluginNotReady message : docker : le plugin réseau n'est pas prêt : cni config non initialisé Le
nœud problématique est 11.11.21.21
1. Supprimer ce nœud, succès
2. Vérifier la configuration de ce nœud, trouvé que echo "net.bridge.bridge-nf-call-iptables=1" n'est pas configuré >> /etc/sysctl.conf ne
fonctionne pas, configurez le système pour
installer le package logiciel nécessaire
yum -y install lrzsz vim gcc glibc openssl openssl-devel net-tools wget curl【Aucune glibc installée】
Fermer selinux
Setenforce 0 #Fermer temporairement
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #Fermer définitivement Vérifier
/etc /hosts
comments Drop 192.168.0.181 localhost
ne fonctionne pas
Résumé : problèmes de communication entre les nœuds
4. Grappe de tests
vi ~/.bashrc
+
export KUBECONFIG=/home/rancher/kube_config_cluster.yml
source ~/.bashrc
Utilisez kubectl pour tester votre connectivité et voir si tous vos nœuds sont à l'état Prêt :
kubectl get nodes
check the health of the cluster Pods
kubectl get pods --all-namespaces
Sauvegarde du fichier de configuration :
cluster.yml : fichier de configuration du cluster RKE.
kube_config_cluster.yml : fichier Kubeconfig pour le cluster. Ce fichier contient les informations d'identification pour un accès complet au cluster.
rancher-cluster.rkestate : fichier d'état Kubernetes. Ce fichier inclut les informations d'identification pour un accès complet au cluster.