当前位置:网站首页>Kubernets Rapid Practical fighting and Core Principle Analysis
Kubernets Rapid Practical fighting and Core Principle Analysis
2022-06-21 12:56:00 【51CTO】
 KubernetesAnalyse du combat rapide et du principe de base_nginx](/img/47/995f4477d0fda31daf31db35ea1e3e.jpg)
K8S Vue d'ensemble
1.1 K8S Qu'est - ce que c'est??
K8SDocuments du site officiel:https://kubernetes.io/zh/docs/home/ K8S - Oui.KubernetesNom complet,Originaire du grec,Signifie“Timonier”Ou“Pilote”,Officiellement, c'est:Pour déploiement automatique、Extension et gestion“Conteneurisation(containerized)Application”Le système open source de.Traduit en grand vernaculaire:“K8S Est responsable de la gestion automatisée de l'exploitation et de la maintenance de plusieurs machines croisées Docker La procédure Cluster”.
1.2 K8SCaractéristiques essentielles
- Découverte de services et équilibrage des charges:Utilisez un mécanisme de découverte de service inconnu sans modifier votre application.
- Chorégraphie de stockage:Monter automatiquement le système de stockage sélectionné,Inclure le stockage local.
- SecretEt gestion de la configuration:Déploiement des mises à jourSecretsIl n'est pas nécessaire de reconstruire le miroir du conteneur lors de la configuration avec l'application,Et ne pas exposer les informations secrètes dans la configuration de la pile logicielle.
- Exécution par lots:En plus des services,KubernetesVous pouvez également gérer vos lots etCICharge de travail,Remplacer les contenants défaillants si désiré.
- Expansion horizontale:Utilisez une commande simple、UnUIOu basé surCPUL'utilisation agrandit automatiquement l'application.
- Mise en service et retournement automatiques:KubernetesLes modifications apportées à l'application ou à sa configuration sont mises en ligne étape par étape, Surveiller également la santé de l'application pour s'assurer
- Assurez - vous de ne pas mettre fin à toutes les instances en même temps .
- Emballage automatique:Placer automatiquement les conteneurs en fonction des besoins en ressources et d'autres contraintes,Évitez également d'affecter la disponibilité.
- Auto - guérison:Redémarrer le conteneur défaillant,Remplacer et reprogrammer le conteneur en cas de décès du noeud,Tuer les conteneurs qui ne répondent pas aux contrôles de santé définis par l'utilisateur.
1.3 K8SInstallation de Clusters
ConstructionK8SCluster,Préparez trois2Nucléaire4GMachine virtuelle pour(Mémoire au moins2GCi - dessus),Pour la sélection du système d'exploitationcentos 7Version précédente,Chargez d'abord les trois machines.docker(Référence d'installationdockerCours Docker Explication détaillée et déploiement du micro - service :
Effectuer les opérations de commande suivantes sur les trois machines:
1、Désactiver le pare - feu
systemctl stop firewalld
systemctl disable firewalld
2、Fermer selinux
sed ‐i 's/enforcing/disabled/' /etc/selinux/config # Fermeture permanente
setenforce 0 # Fermeture temporaire
3、Fermer swap
swapoff ‐a # Fermeture temporaire
vim /etc/fstab # Fermeture permanente
#NoteswapÇa marche.
# /dev/mapper/centos‐swap swap swap defaults 0 0
systemctl reboot #Redémarrer en vigueur
free ‐m #Voir ci - dessousswapSi toutes les zones d'échange sont0,Si tout est0EtswapFermeture réussie
4、Définir le nom d'hôte pour chacune des trois machines
hostnamectl set‐hostname <hostname>
Le premier.:k8s‐master
Deuxième.:k8s‐node1
Troisième.:k8s‐node2
5、In k8s‐masterAjout de machineshosts,Exécutez la commande suivante,ipDoit être adapté à votre propre machineip
cat >> /etc/hosts << EOF
192.168.65.160 k8s‐master
192.168.65.203 k8s‐node1
192.168.65.210 k8s‐node2
EOF
6、PontIPv4Le trafic passe àiptables
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge‐nf‐call‐ip6tables = 1
net.bridge.bridge‐nf‐call‐iptables = 1
EOF
sysctl ‐‐system # Entrée en vigueur
7、Définir la synchronisation du temps
yum install ntpdate ‐y
ntpdate time.windows.com
8、Ajouterk8s yumSource
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes‐el7‐x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum‐key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm‐package‐key.gpg
EOF
9、Si vous avez déjà installék8s,Désinstaller d'abord l'ancienne version
yum remove ‐y kubelet kubeadm kubectl
10、Voir les versions que vous pouvez installer
yum list kubelet ‐‐showduplicates | sort ‐r
11、Installationkubelet、kubeadm、kubectl Spécifier la version,Nous utilisonskubeadmMode d'installationk8sCluster
yum install ‐y kubelet‐1.18.0 kubeadm‐1.18.0 kubectl‐1.18.0
12、Démarragekubelet
systemctl enable kubelet
systemctl start kubelet
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
Ink8s-masterEffectuer l'initialisation sur la machine(Le premier à l'intérieuripL'adresse estk8s-masterMachineip, Changez - le en votre propre machine. ,Deux derrière.ipLe segment réseau ne bouge pas)
Le résultat est le suivant après l'exécution : [Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-rHBPkaiM-1655448910946)(https://cdn.itjava.top/halo/image-1652951083768.png)]
 KubernetesAnalyse du combat rapide et du principe de base_nginx_02](/img/98/e36e3d0ed3bc0d4641cf7280603286.jpg)
Ink8s-masterExécuter les commandes suivantes sur la machine:
#Configurer l'utilisation kubectl Outils de commande(SimilairedockerCette commande),Exécuter la commande dans la deuxième boîte rouge de l'image ci - dessus
mkdir ‐p $HOME/.kube
sudo cp ‐i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id ‐u):$(id ‐g) $HOME/.kube/config
#VoirkubectlSi elle peut être utilisée correctement
kubectl get nodes
#Installation Pod Plug - in réseau
kubectl apply ‐f https://docs.projectcalico.org/manifests/calico.yaml
# Si c'est là - haut, calico Le plug - in réseau n'a pas été installé avec succès.
# kubectl apply ‐f
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kubeflannel.yml
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
Dans tous lesk8s node La machine exécute les commandes dans la troisième boîte rouge de l'image ci - dessus
# Oui.node Ajout de noeuds master Dans un cluster de nœuds , Copier l'exécution de la commande dans la troisième boîte rouge de l'image ci - dessus
kubeadm join 192.168.65.160:6443 ‐‐token hbovty.6x82bkdlsk6dfy32 \
‐‐discovery‐token‐ca‐cert‐hash sha256:659511b431f276b2a5f47397677b1dff74838ae5eb18e24135e6dae1b8c45840
- 1.
- 2.
- 3.
Ink8s-masterLa machine exécute la commande View Node
 KubernetesAnalyse du combat rapide et du principe de base_docker_03](/img/9a/0cb6d935387c057d87587eae2ddb8a.jpg)
Les trois qui viennent d'être installés k8s Les noeuds sont prêts. ,Un grand succès!
Supplément:SinodeImpossible d'ajouter le noeud au cluster, Peut supprimer le noeud ajouter à nouveau pour supprimer k8snode1
Ce noeud,Tout d'abord, master Exécuter les deux commandes suivantes sur le noeud
Après exécution par kubectl get node Les commandes peuvent être vues k8snode1Supprimé avec succès Et puis... k8snode1C'est Node Exécutez la commande suivante sur le noeud,De cette façon, le noeud est complètement k8s Déconnecter du cluster,Vous pouvez ensuite exécuter à nouveau la commande pour l'ajouter au cluster
AvecK8SDéploiementNginx Ink8s-masterExécution sur la machine
 KubernetesAnalyse du combat rapide et du principe de base_nginx_04](/img/02/75f4583841690c09e03f661f2fc0d7.jpg)
Accès àNginxAdresse: http://N'importe quel noeudip:Dans la figureNginxPort de cartographie externe pour,http://192.168.65.203:30433
 KubernetesAnalyse du combat rapide et du principe de base_nginx_05](/img/98/ed9d6372b1e76ad87a5f6205879427.jpg)
1.4 K8S Principes fondamentaux de l'architecture
On le sait déjà. K8S Fonctions essentielles:Gestion automatisée de l'exploitation et de l'entretien de plusieurs programmes conteneurisés.Alors K8S Comment??Ici.,Nous apprenons de la macrostructure K8S Des idées de design.Regardez d'abord l'image ci - dessous.:
 KubernetesAnalyse du combat rapide et du principe de base_nginx_06](/img/0f/1db331fc904e79bf216ef3bb74c629.jpg)
K8S C'est àModèle maître - esclave(Master-Slave Architecture),Oui. Master Le noeud est responsable de l'ordonnancement du noyau、Gestion et o & M,Slave Le noeud exécute le programme de l'utilisateur.Mais dans K8S Moyenne,Le noeud maître est généralement appeléMaster Node Ou Head Node,Et le noeud esclave est appeléWorker Node OuNode. Attention!:Master Node Et Worker Node Est installé séparément K8S De Master Et Woker Serveur physique du composant,Chaque Node Tout correspond. Un serveur physique (Bien que Master Node Peut - être avec l'un d'eux Worker Node Installé sur le même serveur ,Mais la suggestion Master Node Single Déploiement autonome ),Tous les Master Node Et Worker Node C'est fait. K8S Cluster,Plus d'un Cluster peut exister Master Node Et WorkerNode. Voyons d'abord.Master NodeQuels sont les composants:
- API Server.K8S Demande de service d'entrée pour.API Server Responsable de la réception K8S Toutes les demandes(De UI Interface ou CLI Outils en ligne de commande),Et puis,API Server Sur demande spécifique de l'utilisateur,Pour informer les autres composants.
- Scheduler.K8S Tous les Worker Node L'ordonnanceur de.Lorsque l'utilisateur veut déployer le Service,Scheduler Choisissez le meilleur WorkerNode(Serveur)Pour déployer.
- Controller Manager.K8S Tous les Worker Node Le moniteur de.Controller Manager Il y a beaucoup de détailsController, Node Controller、Service Controller、Volume Controller Attendez..Controller Responsable de la surveillance et de l'ajustement desWorker Node État des services du Département supérieur,Comme les exigences des utilisateurs A Déploiement des services 2 Copies,Alors quand l'un des services est mort,,Controller Ça va s'arranger tout de suite,Jean Scheduler Choisissez un autre Worker Node Services de redéploiement.
- etcd.K8S Services de stockage pour.etcd Stocké K8S Configuration critique et configuration de l'utilisateur pour,K8S Moyenne seulement API Server Pour avoir accès à la lecture et à l'écriture,Les autres composants doivent passer par API Server Pour lire et écrire des données.
Et ensuiteWorker NodeComposants de:
- Kubelet.Worker Node Moniteur pour,Et Master Node Le communicateur de.Kubelet - Oui. Master Node Placé dansWorker Node Oui.“Ligne oculaire”,Il va régulièrement Master Node Se présenter Node État des services en cours d'exécution ,Et accepter deMaster Node Mesures d'ajustement.Responsable du contrôle du démarrage et de l'arrêt de tous les conteneurs,S'assurer que le noeud fonctionne correctement.
- Kube-Proxy.K8S Agent réseau pour.Kube-Proxy Responsable Node In K8S Communication réseau pour、 Et équilibrage de la charge pour le trafic réseau externe .
- Container Runtime.Worker Node Environnement opérationnel pour.C'est - à - dire que l'environnement logiciel nécessaire à la conteneurisation est installé pour s'assurer que le programme conteneurisé fonctionne,Par exemple, Docker EngineEnvironnement opérationnel.
边栏推荐
- 5000 word analysis: the way of container security attack and defense in actual combat scenarios
- Educoder table label - basic table structure
- uva11995
- 【深入理解TcaplusDB技术】TcaplusDB构造数据
- 居家辦公初體驗之新得分享| 社區征文
- Huawei cloud releases desktop ide codearts
- 百度交易中台之钱包系统架构浅析
- 用时间戳优化 TCP 实践
- Pre training weekly (50): no decoding converter, neural prompt search, gradient space dimensionality reduction
- How to delete floating IP manually
猜你喜欢

Analysis on the wallet system architecture of Baidu trading platform

Not only zero:bmtrain technology principle analysis

Pretraining Weekly No. 50: No Decode converter, neural prompt search, gradient Space reduction

《网络是怎么样连接的》读书笔记 - ADSL

AGCO AI frontier promotion (6.21)

Nouveau partage de l'expérience de travail à domicile

百度交易中台之钱包系统架构浅析

Educoder Web练习题---文本层次语义元素

这不会又是一个Go的BUG吧?

5000 word analysis: the way of container security attack and defense in actual combat scenarios
随机推荐
Educoder Web练习题---文本层次语义元素
应用配置管理,基础原理分析
Mvcc in PostgreSQL
Educator web exercise - create a drop-down list
Workbench常见网格划分方法讲解
Educoder Web练习题---分组元素
塔米狗 热门资讯:厦门产权交易中心再创第一次!
Educoder Web练习题---结构元素
Five (seven) principles - systematic learning III
PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分
【无标题】
【深入理解TcaplusDB技术】Tmonitor系统升级
百问百答第43期:应用性能探针监测原理-PHP探针
高效远程办公手册| 社区征文
华为云发布桌面IDE-CodeArts
UVA1203 Argus
Interpretation of tamigou project: 34% equity transfer of Jining Huayuan Project Management Co., Ltd
SQL左连接的关联条件问题
南京大学 静态软件分析(static program analyzes)-- introduction 学习笔记
卷积神经网络“卷积”的深层理解