Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie baut man eine sichere und zuverlässige Container-Orchestrierungsplattform unter Linux auf?

Wie baut man eine sichere und zuverlässige Container-Orchestrierungsplattform unter Linux auf?

PHPz
PHPzOriginal
2023-08-02 21:27:16785Durchsuche

Wie baut man eine sichere und zuverlässige Container-Orchestrierungsplattform unter Linux auf?

Einführung:
Container-Technologie wurde in den letzten Jahren weit verbreitet und weiterentwickelt. Ihr Aufkommen hat die Anwendungsbereitstellung und -aktualisierung flexibler und effizienter gemacht. Die Container-Orchestrierungsplattform kann die Automatisierung und Zuverlässigkeit des Container-Managements weiter verbessern. In diesem Artikel wird erläutert, wie Sie eine sichere und zuverlässige Container-Orchestrierungsplattform unter Linux erstellen, und es werden relevante Codebeispiele bereitgestellt.

  1. Docker installieren
    Docker ist eine Open-Source-Container-Engine, die Anwendungen automatisch in Container verpacken kann, um die Bereitstellung und den Betrieb zu vereinfachen. Bevor Sie eine Container-Orchestrierungsplattform erstellen, müssen Sie Docker unter Linux installieren.

Der Befehl zum Installieren von Docker unter Ubuntu lautet wie folgt:

sudo apt update
sudo apt install docker.io
  1. Kubernetes installieren
    Kubernetes ist eine Open-Source-Container-Orchestrierungsplattform, die zum Verwalten und Planen von Containern verwendet werden kann und hohe Verfügbarkeit, elastische Skalierung und automatisierte Containerbereitstellung bietet. Vor dem Aufbau einer Container-Orchestrierungsplattform muss Kubernetes installiert werden.

Der Befehl zum Installieren von Kubernetes unter Ubuntu lautet wie folgt:

sudo apt update
sudo apt install kubeadm kubelet kubectl
  1. Initialisieren Sie den Kubernetes-Cluster
    Bevor Sie die Container-Orchestrierungsplattform erstellen, müssen Sie den Kubernetes-Cluster initialisieren. Führen Sie zunächst den folgenden Befehl zur Initialisierung auf dem Masterknoten aus:

    sudo kubeadm init

    Speichern Sie dann gemäß der Terminalausgabe das generierte Token. Führen Sie als Nächstes den folgenden Befehl auf dem Worker-Knoten aus, um dem Cluster beizutreten:

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

    wobei 412d557bec4e5def6d6435dfb165ebbe是主节点的IP地址,a360f3582b773902fb6e668654434f5e是主节点的端口号,d6fb5a6237ab04b68d3c67881a9080faa7b9cd6306465e718c63cb68a062ddb4 das Token und der Hash ist, die bei der Initialisierung des Master-Knotens generiert werden.

  2. Installieren Sie das Container-Netzwerk-Plug-in
    Als nächstes müssen wir ein Container-Netzwerk-Plug-in installieren, um die Kommunikation zwischen Containern zu ermöglichen. In diesem Artikel entscheiden wir uns für die Installation des Calico-Netzwerk-Plug-Ins.

Führen Sie den folgenden Befehl auf dem Masterknoten aus, um ihn zu installieren:

kubectl create -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
  1. Containeranwendung bereitstellen
    Jetzt haben wir eine sichere und zuverlässige Container-Orchestrierungsplattform aufgebaut und können Containeranwendungen bereitstellen. Zunächst müssen Sie eine YAML-Datei schreiben, die die Konfiguration der Containeranwendung enthält.

Die Beispiel-YAML-Datei lautet wie folgt:

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

Führen Sie dann den folgenden Befehl zur Bereitstellung aus:

kubectl apply -f my-app.yaml
  1. Überwachung und Protokollverwaltung
    In einer Container-Orchestrierungsplattform sind Überwachung und Protokollverwaltung ein sehr wichtiger Bestandteil. Sie können Prometheus und Grafana zur Überwachung und EFK (Elasticsearch+Fluentd+Kibana) zur Protokollverwaltung verwenden. Hier ist ein einfaches Beispiel als Referenz:

Prometheus und Grafana bereitstellen:

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

EFK bereitstellen:

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

Fazit:
In diesem Artikel wird beschrieben, wie Sie eine sichere und zuverlässige Container-Orchestrierungsplattform unter Linux erstellen. Durch die Installation von Docker und Kubernetes und die Verwendung des Calico-Netzwerk-Plug-Ins können Sie eine hohe Verfügbarkeit und elastische Skalierung von Containern erreichen. Darüber hinaus kann durch den Einsatz von Prometheus und Grafana für die Überwachung und den Einsatz von EFK für die Protokollverwaltung die Zuverlässigkeit und Sicherheit der Containerverwaltung verbessert werden. Ich hoffe, dass dieser Artikel allen beim Aufbau einer Container-Orchestrierungsplattform hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonWie baut man eine sichere und zuverlässige Container-Orchestrierungsplattform unter Linux auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn