Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk membina platform orkestrasi kontena yang selamat dan boleh dipercayai di Linux?

Bagaimana untuk membina platform orkestrasi kontena yang selamat dan boleh dipercayai di Linux?

PHPz
PHPzasal
2023-08-02 21:27:16784semak imbas

Bagaimana untuk membina platform orkestrasi kontena yang selamat dan boleh dipercayai di Linux?

Pengenalan:
Teknologi kontena telah digunakan dan dibangunkan secara meluas sejak beberapa tahun kebelakangan ini. Kemunculannya telah menjadikan penggunaan dan peningkatan aplikasi lebih fleksibel dan cekap. Platform orkestrasi kontena boleh meningkatkan lagi automasi dan kebolehpercayaan pengurusan kontena. Artikel ini akan memperkenalkan cara membina platform orkestrasi kontena yang selamat dan boleh dipercayai di Linux dan memberikan contoh kod yang berkaitan.

  1. Pasang Docker
    Docker ialah enjin kontena sumber terbuka yang boleh membungkus aplikasi secara automatik dalam bekas untuk penggunaan dan pengendalian yang mudah. Sebelum membina platform orkestrasi kontena, anda perlu memasang Docker pada Linux.

Arahan untuk memasang Docker pada Ubuntu adalah seperti berikut:

sudo apt update
sudo apt install docker.io
  1. Pasang Kubernetes
    Kubernetes ialah platform orkestrasi kontena sumber terbuka yang boleh digunakan untuk mengurus dan menjadualkan bekas, menyediakan ketersediaan tinggi, penskalaan anjal dan penggunaan kontena automatik. Sebelum membina platform orkestrasi kontena, anda perlu memasang Kubernetes.

Arahan untuk memasang Kubernetes pada Ubuntu adalah seperti berikut:

sudo apt update
sudo apt install kubeadm kubelet kubectl
  1. Inisialisasikan gugusan Kubernetes
    Sebelum membina platform orkestrasi kontena, anda perlu memulakan gugusan Kubernetes. Mula-mula, jalankan arahan berikut pada nod induk untuk permulaan:

    sudo kubeadm init

    Kemudian, mengikut output terminal, simpan token yang dijana. Seterusnya, jalankan arahan berikut pada nod pekerja untuk menyertai kluster:

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

    di mana, 412d557bec4e5def6d6435dfb165ebbe是主节点的IP地址,a360f3582b773902fb6e668654434f5e是主节点的端口号,d6fb5a6237ab04b68d3c67881a9080faa7b9cd6306465e718c63cb68a062ddb4 ialah token dan cincang yang dijana semasa memulakan nod induk.

  2. Pasang pemalam rangkaian kontena
    Seterusnya, kita perlu memasang pemalam rangkaian kontena untuk membolehkan komunikasi antara bekas. Dalam artikel ini, kami memilih untuk memasang pemalam rangkaian Calico.

Jalankan arahan berikut pada nod induk untuk memasang:

kubectl create -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
  1. Kerahkan aplikasi kontena
    Kini, kami telah membina platform orkestrasi kontena yang selamat dan boleh dipercayai serta boleh menggunakan aplikasi kontena. Pertama, anda perlu menulis fail YAML yang mengandungi konfigurasi aplikasi kontena.

Contoh fail YAML adalah seperti berikut:

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

Kemudian, jalankan arahan berikut untuk digunakan:

kubectl apply -f my-app.yaml
  1. Pemantauan dan pengurusan log
    Dalam platform orkestrasi kontena, pemantauan dan pengurusan log adalah bahagian yang sangat penting. Anda boleh menggunakan Prometheus dan Grafana untuk pemantauan, dan EFK (Elasticsearch+Fluentd+Kibana) untuk pengurusan log. Berikut ialah contoh mudah untuk rujukan:

Deploy Prometheus dan 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

Deploy 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

Kesimpulan:
Artikel ini memperkenalkan cara membina platform orkestrasi kontena yang selamat dan boleh dipercayai di Linux. Dengan memasang Docker dan Kubernetes dan menggunakan pemalam rangkaian Calico, anda boleh mencapai ketersediaan tinggi dan penskalaan elastik bekas. Selain itu, dengan menggunakan Prometheus dan Grafana untuk pemantauan, dan menggunakan EFK untuk pengurusan log, kebolehpercayaan dan keselamatan pengurusan kontena boleh dipertingkatkan. Saya harap artikel ini akan membantu semua orang dalam membina platform orkestrasi kontena.

Atas ialah kandungan terperinci Bagaimana untuk membina platform orkestrasi kontena yang selamat dan boleh dipercayai di Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn