Apigee Edge 문서입니다.
Apigee X 문서로 이동 정보
이 주제에서는 Kubernetes 클러스터에 Edge Microgateway를 서비스로 설치하기 전에 완료해야 하는 단계를 설명합니다.
이 주제에서는 다음을 설명합니다.
- Kubernetes 클러스터의 최소 요구사항입니다.
- Edge Microgateway를 설치하고 구성하는 방법
- Edge Microgateway의 기본 구성을 Kubernetes 클러스터에 설치하는 방법
Kubernetes 클러스터 요구사항
Kubernetes 클러스터에는 다음이 필요합니다.
- Kubernetes 버전 1.9 이상
- Kubernetes CLI kubectl v1.9 이상
- 각각 vCPU 2개를 가진 노드가 3개 이상 있는 클러스터
예: Google Kubernetes Engine (GKE)에서 Kubernetes 클러스터 만들기
Kubernetes 관리 머신 설정
Kubernetes 관리 머신은 Kubernetes 클러스터에 명령어를 실행하는 데 사용하는 로컬 머신입니다. 이 머신은 일반적으로 Kubernetes VM에 액세스할 수 있는 데스크톱 머신입니다.
Kubernetes 관리 머신에 다음 유틸리티를 설치해야 합니다.
GKE에서 Kubernetes 클러스터 만들기
- Google Cloud Platform (GCP)의 Google Kubernetes Engine (GKE) 대시보드에 로그인합니다.
- 클러스터 만들기를 클릭합니다.
- 표준 클러스터를 선택합니다.
- 클러스터의 이름을 입력합니다.
- 영역을 선택합니다.
Cluster Version 1.9.7-gke-*
를 선택합니다. 예:1.9.7-gke.6
- 노드 크기를 3개로 선택합니다.
- 메모리가 7.5GB인 vCPU 2개를 선택합니다.
만들기를 클릭합니다.
다음 스크린샷은 이전 단계에 설명된 대로 입력된 GKE 대시보드를 보여줍니다.
클러스터 사용자 인증 정보 가져오기
GKE 프로젝트 이름을 설정합니다.
gcloud config set project projectName
GKE 프로젝트 영역을 설정합니다.
gcloud config set compute/zone zoneName
gcloud 컨테이너 사용자 인증 정보를 가져옵니다.
gcloud container clusters get-credentials cluster-name --zone zone --project project-name
각 항목의 의미는 다음과 같습니다.
cluster-name
은 만든 Kubernetes 클러스터의 이름입니다.zone
은 클러스터가 있는 영역입니다.project-name
는 GCP 프로젝트 이름입니다.
예를 들면 다음과 같습니다.
gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
다음 명령어를 다음과 같이 정확하게 실행합니다. 이 명령어는 클러스터 관리자 권한을 현재 사용자에게 부여합니다. Edge Microgateway 서비스에 필요한 RBAC 규칙을 만들려면 다음과 같은 관리자 권한이 필요합니다.
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
Kubernetes용 Edge Microgateway 설치
Kubernetes용 Edge Microgateway를 다운로드합니다. macOS 또는 Linux 머신을 사용하는 경우 버전 이름을 지정하여 최신 버전 또는 특정 버전을 다운로드할 수 있습니다.
최신 버전을 다운로드하려면 다음 단계를 따르세요.
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -
버전 번호로 특정 버전을 가져옵니다. 버전 번호 앞에 'v' 문자를 붙여야 합니다. 예: v3.0.2
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s version
예를 들면 다음과 같습니다.
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
디렉터리를 설치 디렉터리
microgateway_Version_OS_ARCH
로 변경합니다. 예를 들면 다음과 같습니다.cd microgateway_2.5.26_Darwin_x86_64
설치 디렉터리를 검사합니다.
/install/kubernetes
- Kubernetes에 배포하기 위한 구성.yaml
파일입니다./samples
- 설치를 테스트하기 위한 샘플 애플리케이션입니다./bin
-edgemicroctl
실행 파일입니다.edgemicroctl
명령어는 Edge Microgateway를 Kubernetes에 삽입합니다.
PATH
에edgemicroctl
클라이언트를 추가합니다. 예를 들어 macOS 또는 Linux 시스템에서 다음 명령어를 실행합니다.export PATH=$PWD/bin:$PATH
기본 Edge Microgateway 설정을 Kubernetes 클러스터에 적용합니다. 다음 명령어는
edgemicro-system
네임스페이스와 클러스터 역할을 만듭니다.kubectl apply -f install/kubernetes/edgemicro.yaml
클러스터에 NGINX 인그레스 컨트롤러를 설치합니다. 다른 Nginix 컨트롤러가 실행되고 있지 않은지 확인합니다.
kubectl get pods
를 실행하여 확인할 수 있습니다.kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml
설치 확인
인그레스 컨트롤러가 시작되었는지 확인하려면 다음 명령어를 실행합니다.
kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch
다음 샘플 출력에서 볼 수 있듯이 프로세스가 시작되는 데 1~2분 정도 걸립니다.
STATUS
가Running
로 변경되기 전에 오류 및 다시 시작 주기가 여러 번 표시되는 것은 정상입니다.NAMESPACE NAME READY STATUS RESTARTS AGE edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 CrashLoopBackOff 1 33s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 Error 2 33s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 CrashLoopBackOff 2 40s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 Running 3 1m edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 1/1 Running 3 1m
인그레스가 실행되면
Ctrl+C
를 입력하여 위 명령어를 취소할 수 있습니다.이 명령어를 실행하여 Kubernetes 서비스가 배포되었는지 확인합니다. 아래의 예시 출력과 유사한 출력이 표시됩니다.
kubectl get svc -n edgemicro-system
출력 예시:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default-http-backend ClusterIP 10.19.255.106 <none> 80/TCP 2h edgemicro-ingress LoadBalancer 10.19.247.156 35.224.24.13 80:30176/TCP,443:32325/TCP 2h
모든 포드가 실행 중인지 확인합니다.
kubectl get pods -n edgemicro-system
출력 예시:
NAME READY STATUS RESTARTS AGE default-http-backend-55c6c69b88-2lvtw 1/1 Running 0 4m edgemicro-ingress-controller-64444469bf-wjhrn 1/1 Running 3 4m
Edge Microgateway 설치
Edge Microgateway 2.5.26 이상 버전이 설치되어 있어야 합니다. 다음을 입력하여 확인할 수 있습니다.
edgemicro --version
Edge Microgateway 2.5.26 이상이 설치되어 있지 않으면 다음과 같이 설치 스크립트를 실행합니다.
npm install edgemicro -g
Edge Microgateway를 처음 설치했거나 업그레이드한 경우 다음 명령어를 실행합니다.
edgemicro init
추가 지원이 필요한 경우 Edge Microgateway 설치를 참고하세요.
다음 단계
이제 Kubernetes에 Edge Microgateway를 배포할 준비가 되었습니다.
- Edge Microgateway를 서비스로 배포를 참고하세요.