> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > Linux 시스템에서 Kubernetes 컨테이너 오케스트레이션을 사용하는 방법

Linux 시스템에서 Kubernetes 컨테이너 오케스트레이션을 사용하는 방법

王林
풀어 주다: 2023-06-18 12:14:32
원래의
1457명이 탐색했습니다.

클라우드 네이티브 애플리케이션의 등장으로 Kubernetes는 컨테이너 오케스트레이션의 사실상 표준이 되었습니다. Kubernetes는 오픈 소스이고 다양한 Linux 배포판에서 실행될 수 있으므로 Linux 시스템에서 Kubernetes 컨테이너 오케스트레이션을 사용하는 것이 매우 일반적입니다. 이 기사에서는 Linux 시스템에서 Kubernetes를 설치 및 구성하는 방법과 컨테이너 오케스트레이션을 위해 Kubernetes를 사용하는 방법을 소개합니다.

  1. Kubernetes 설치

Linux 시스템에 Kubernetes를 설치하려면 일반적으로 다음 단계가 필요합니다.

1.1 Docker 설치

Kubernetes는 Docker를 컨테이너 런타임으로 사용하므로 먼저 Docker를 설치해야 합니다. Ubuntu 시스템에서는 다음 명령을 사용하여 Docker를 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install docker.io
로그인 후 복사

CentOS 시스템에서는 다음 명령을 사용하여 Docker를 설치할 수 있습니다.

sudo yum install docker
sudo systemctl start docker
sudo systemctl enable docker
로그인 후 복사

1.2 Kubernetes 설치

Ubuntu 시스템에서는 다음 명령을 사용할 수 있습니다. Kubernetes 설치:

sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
로그인 후 복사

CentOS 시스템에서는 다음 명령을 사용하여 Kubernetes를 설치할 수 있습니다.

sudo yum install -y epel-release
sudo yum update -y
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo systemctl start kubelet
로그인 후 복사
  1. Kubernetes 구성

2.1 마스터 노드 초기화

Kubernetes 클러스터에서 마스터 노드는 전체 관리를 담당합니다. 무리. 마스터 노드를 초기화하려면 다음 명령을 실행해야 합니다.

sudo kubeadm init --pod-network-cidr=10.244.0.0/16
로그인 후 복사

이 명령은 필요한 구성 요소를 설치하고 노드 조인을 위한 명령을 생성합니다. 실행 명령 출력의 마지막 몇 줄에는 다음과 같이 노드를 조인하는 명령이 포함됩니다.

kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef 
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
로그인 후 복사

이 명령의 출력은 고유해야 하며 해당 마스터 노드에만 적용 가능해야 합니다.

2.2 Join Worker Node

Kubernetes 클러스터에 작업자 노드를 추가하려면 이전 단계의 Join node 명령 출력을 실행해야 합니다. 예:

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef 
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
로그인 후 복사

이 명령을 실행하면 필요한 구성 요소가 설치되고 작업자 노드가 클러스터에 추가됩니다.

2.3 네트워크 플러그인 설치

Kubernetes는 Pod에 네트워킹을 제공하기 위해 네트워크 플러그인이 필요합니다. 일반적으로 사용되는 네트워크 플러그인에는 Flannel 및 Calico가 있습니다. 여기서는 Flannel 설치를 선택합니다. Flannel을 설치하려면 다음 명령을 실행할 수 있습니다.

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
로그인 후 복사
  1. Container Orchestration with Kubernetes

이제 Linux 시스템에 Kubernetes를 성공적으로 설치하고 구성했습니다. 다음으로 컨테이너 오케스트레이션에 Kubernetes를 사용하는 방법을 소개하겠습니다.

3.1 배포 생성

Kubernetes에서 배포는 포드 생성 및 관리를 위한 추상화입니다. 배포를 생성하려면 kubectl 명령어를 사용하세요. 예를 들어 nginx라는 배포를 생성하려면 다음 명령을 실행할 수 있습니다.

kubectl create deployment nginx --image=nginx
로그인 후 복사

이 명령은 Docker Hub에서 nginx 이미지를 사용하여 nginx라는 컨테이너를 배포합니다.

3.2 배포 편집

배포를 수정하려면 kubectl edit 배포 명령을 사용할 수 있습니다. 예를 들어 nginx 배포의 복제본 수를 3으로 수정하려면 다음 명령을 실행하면 됩니다.

kubectl edit deployment nginx
로그인 후 복사

이렇게 하면 yaml 파일을 수정할 수 있는 편집기가 열립니다. Replica 필드의 값을 3으로 변경한 다음 저장하고 편집기를 종료합니다.

3.3 서비스 노출

Kubernetes에서 서비스는 포드의 네트워크 엔드포인트를 노출하는 데 사용되는 추상화입니다. 배포 서비스를 노출하려면 kubectl discover 명령을 사용할 수 있습니다. 예를 들어 nginx 배포 서비스를 노출하려면 다음 명령을 실행할 수 있습니다.

kubectl expose deployment nginx --port=80 --type=NodePort
로그인 후 복사

이 명령은 nginx라는 서비스를 생성하고 이를 클러스터에 있는 모든 노드의 포트 80에 노출합니다.

3.4 배포 확장

배포를 확장하려면 kubectl scale 명령을 사용할 수 있습니다. 예를 들어 nginx 배포의 복제본 수를 5로 확장하려면 다음 명령을 실행할 수 있습니다.

kubectl scale deployment nginx --replicas=5
로그인 후 복사

3.5 관리 상태

배포 상태를 보려면 kubectl 명령을 사용하세요. 예를 들어 모든 배포와 해당 상태를 보려면 다음 명령을 실행하면 됩니다.

kubectl get deployments
로그인 후 복사

이 명령은 클러스터에 있는 모든 배포의 이름, 필수 수량, 사용 가능한 수량 및 상태를 출력합니다.

요약

이 기사를 통해 Linux 시스템에서 Kubernetes를 설치 및 구성하는 방법과 컨테이너 오케스트레이션을 위해 Kubernetes를 사용하는 방법을 배웠습니다. 이러한 기술은 클라우드 네이티브 세계로 들어가고 싶어하는 모든 개발자와 시스템 관리자에게 필수입니다.

위 내용은 Linux 시스템에서 Kubernetes 컨테이너 오케스트레이션을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿