Maison >Opération et maintenance >exploitation et maintenance Linux >Comment créer une plateforme d'orchestration de conteneurs sûre et fiable sous Linux ?

Comment créer une plateforme d'orchestration de conteneurs sûre et fiable sous Linux ?

PHPz
PHPzoriginal
2023-08-02 21:27:16887parcourir

Comment créer une plateforme d'orchestration de conteneurs sûre et fiable sous Linux ?

Introduction : 
La technologie des conteneurs a été largement utilisée et développée ces dernières années. Son émergence a rendu le déploiement et les mises à niveau des applications plus flexibles et efficaces. La plateforme d'orchestration de conteneurs peut encore améliorer l'automatisation et la fiabilité de la gestion des conteneurs. Cet article explique comment créer une plate-forme d'orchestration de conteneurs sûre et fiable sous Linux et fournit des exemples de code pertinents.

  1. Installer Docker
    Docker est un moteur de conteneur open source qui peut automatiquement empaqueter des applications dans des conteneurs pour un déploiement et une utilisation faciles. Avant de créer une plateforme d'orchestration de conteneurs, vous devez installer Docker sur Linux.

La commande pour installer Docker sur Ubuntu est la suivante :

sudo apt update
sudo apt install docker.io
  1. Installer Kubernetes
    Kubernetes est une plate-forme d'orchestration de conteneurs open source qui peut être utilisée pour gérer et planifier des conteneurs, offrant une haute disponibilité, une mise à l'échelle élastique et un déploiement automatisé de conteneurs. Avant de créer une plateforme d'orchestration de conteneurs, Kubernetes doit être installé.

La commande pour installer Kubernetes sur Ubuntu est la suivante :

sudo apt update
sudo apt install kubeadm kubelet kubectl
  1. Initialiser le cluster Kubernetes
    Avant de créer la plateforme d'orchestration de conteneurs, vous devez initialiser le cluster Kubernetes. Tout d'abord, exécutez la commande suivante sur le nœud maître pour l'initialisation :

    sudo kubeadm init

    Ensuite, selon la sortie du terminal, enregistrez le jeton généré. Ensuite, exécutez la commande suivante sur le nœud de travail pour rejoindre le cluster :

    sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

    où, 412d557bec4e5def6d6435dfb165ebbe是主节点的IP地址,a360f3582b773902fb6e668654434f5e是主节点的端口号,d6fb5a6237ab04b68d3c67881a9080faa7b9cd6306465e718c63cb68a062ddb4 est le jeton et le hachage générés lors de l'initialisation du nœud maître.

  2. Installer le plug-in du réseau de conteneurs
    Ensuite, nous devons installer un plug-in de réseau de conteneurs pour permettre la communication entre les conteneurs. Dans cet article, nous choisissons d'installer le plug-in réseau Calico.

Exécutez la commande suivante sur le nœud maître pour installer :

kubectl create -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
  1. Déployer l'application de conteneur
    Maintenant, nous avons construit une plate-forme d'orchestration de conteneurs sûre et fiable et pouvons déployer des applications de conteneur. Tout d’abord, vous devez écrire un fichier YAML contenant la configuration de l’application conteneur.

L'exemple de fichier YAML est le suivant :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app-container
        image: my-app-image:latest
        ports:
        - containerPort: 80

Ensuite, exécutez la commande suivante pour déployer :

kubectl apply -f my-app.yaml
  1. Surveillance et gestion des journaux
    Dans une plateforme d'orchestration de conteneurs, la surveillance et la gestion des journaux sont une partie très importante. Vous pouvez utiliser Prometheus et Grafana pour la surveillance, et EFK (Elasticsearch+Fluentd+Kibana) pour la gestion des journaux. Voici un exemple simple pour référence :

Déployer Prometheus et Grafana :

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.28.0/deploy/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.28.0/deploy/provider/cloud-generic.yaml

Déployer EFK :

kubectl apply -f https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/es-statefulset.yaml
kubectl apply -f https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/es-service.yaml
kubectl apply -f https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml
kubectl apply -f https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml
kubectl apply -f https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/kibana-service.yaml

Conclusion :
Cet article présente comment créer une plate-forme d'orchestration de conteneurs sûre et fiable sous Linux. En installant Docker et Kubernetes et en utilisant le plug-in réseau Calico, vous pouvez obtenir une haute disponibilité et une mise à l'échelle élastique des conteneurs. De plus, en déployant Prometheus et Grafana pour la surveillance et en déployant EFK pour la gestion des journaux, la fiabilité et la sécurité de la gestion des conteneurs peuvent être améliorées. J'espère que cet article sera utile à tout le monde dans la création d'une plateforme d'orchestration de conteneurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn