>  기사  >  운영 및 유지보수  >  Linux에서 안전하고 안정적인 컨테이너 오케스트레이션 플랫폼을 구축하는 방법은 무엇입니까?

Linux에서 안전하고 안정적인 컨테이너 오케스트레이션 플랫폼을 구축하는 방법은 무엇입니까?

PHPz
PHPz원래의
2023-08-02 21:27:16840검색

Linux에서 안전하고 안정적인 컨테이너 오케스트레이션 플랫폼을 구축하는 방법은 무엇입니까?

소개:
컨테이너 기술은 최근 몇 년 동안 널리 사용되고 개발되어 애플리케이션 배포 및 업그레이드가 더욱 유연하고 효율적으로 이루어졌습니다. 컨테이너 오케스트레이션 플랫폼은 컨테이너 관리의 자동화와 안정성을 더욱 향상시킬 수 있습니다. 이 기사에서는 Linux에서 안전하고 안정적인 컨테이너 오케스트레이션 플랫폼을 구축하는 방법을 소개하고 관련 코드 예제를 제공합니다.

  1. Docker 설치
    Docker는 간편한 배포 및 운영을 위해 애플리케이션을 컨테이너에 자동으로 패키징할 수 있는 오픈 소스 컨테이너 엔진입니다. 컨테이너 오케스트레이션 플랫폼을 구축하기 전에 Linux에 Docker를 설치해야 합니다.

Ubuntu에 Docker를 설치하는 명령은 다음과 같습니다.

sudo apt update
sudo apt install docker.io
  1. Kubernetes 설치
    Kubernetes는 컨테이너를 관리하고 예약하는 데 사용할 수 있는 오픈 소스 컨테이너 오케스트레이션 플랫폼으로 고가용성, 탄력적인 확장 및 자동화된 컨테이너 배포를 제공합니다. 컨테이너 오케스트레이션 플랫폼을 구축하기 전에 Kubernetes를 설치해야 합니다.

Ubuntu에 Kubernetes를 설치하는 명령은 다음과 같습니다.

sudo apt update
sudo apt install kubeadm kubelet kubectl
  1. Kubernetes 클러스터 초기화
    컨테이너 오케스트레이션 플랫폼을 구축하기 전에 Kubernetes 클러스터를 초기화해야 합니다. 먼저 초기화를 위해 마스터 노드에서 다음 명령을 실행합니다.

    sudo kubeadm init

    그런 다음 터미널 출력에 따라 생성된 토큰을 저장합니다. 그런 다음 작업자 노드에서 다음 명령을 실행하여 클러스터에 조인합니다.

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

    여기서 412d557bec4e5def6d6435dfb165ebbe是主节点的IP地址,a360f3582b773902fb6e668654434f5e是主节点的端口号,d6fb5a6237ab04b68d3c67881a9080faa7b9cd6306465e718c63cb68a062ddb4는 마스터 노드를 초기화할 때 생성된 토큰 및 해시입니다.

  2. 컨테이너 네트워크 플러그인 설치
    다음으로, 컨테이너 간 통신을 활성화하기 위해 컨테이너 네트워크 플러그인을 설치해야 합니다. 이 기사에서는 Calico 네트워크 플러그인을 설치하도록 선택합니다.

설치하려면 마스터 노드에서 다음 명령을 실행하세요.

kubectl create -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
  1. 컨테이너 애플리케이션 배포
    이제 안전하고 안정적인 컨테이너 오케스트레이션 플랫폼을 구축했으며 컨테이너 애플리케이션을 배포할 수 있습니다. 먼저 컨테이너 애플리케이션 구성이 포함된 YAML 파일을 작성해야 합니다.

샘플 YAML 파일은 다음과 같습니다.

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

그런 다음 다음 명령을 실행하여 배포합니다.

kubectl apply -f my-app.yaml
  1. 모니터링 및 로그 관리
    컨테이너 오케스트레이션 플랫폼에서 모니터링과 로그 관리는 매우 중요한 부분입니다. 모니터링에는 Prometheus 및 Grafana를 사용하고 로그 관리에는 EFK(Elasticsearch+Fluentd+Kibana)를 사용할 수 있습니다. 다음은 참조할 수 있는 간단한 예입니다.

Prometheus 및 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

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

결론:
이 문서에서는 Linux에서 안전하고 안정적인 컨테이너 오케스트레이션 플랫폼을 구축하는 방법을 소개합니다. Docker 및 Kubernetes를 설치하고 Calico 네트워크 플러그인을 사용하면 컨테이너의 고가용성과 탄력적인 확장을 달성할 수 있습니다. 또한 모니터링을 위해 Prometheus 및 Grafana를 배포하고 로그 관리를 위해 EFK를 배포함으로써 컨테이너 관리의 안정성과 보안을 향상시킬 수 있습니다. 이 기사가 컨테이너 오케스트레이션 플랫폼을 구축하는 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 Linux에서 안전하고 안정적인 컨테이너 오케스트레이션 플랫폼을 구축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.