Go에서 Google Kubernetes Engine(GKE) 사용: 전체 가이드
최근 몇 년 동안 Kubernetes는 컨테이너 오케스트레이션 플랫폼의 사실상 표준이 되었으며 Google Kubernetes Engine(GKE)은 Google Cloud Platform에서 제공되는 완전 관리형 Kubernetes 엔진입니다. 자동화된 컨테이너 오케스트레이션, 확장성 및 고가용성을 제공할 뿐만 아니라 빠른 시작 및 조정이 가능하여 코드 배포가 더 쉬워집니다. 이 문서에서는 Go 언어로 GKE를 사용하는 방법을 소개합니다. 이 문서가 GKE 사용에 대한 완전한 가이드가 되기를 바랍니다.
1단계: 프로젝트 생성 및 GKE API 활성화
먼저 Google Cloud Platform 프로젝트를 생성해야 합니다. GKE에 들어가기 전에 GKE API를 사용 설정해야 합니다. GKE API를 활성화하는 방법에는 여러 가지가 있습니다. 여기서는 두 가지를 소개합니다.
1 Google Cloud Console의 "API 및 서비스" > "API" 페이지에서 "Kubernetes Engine API"를 필터링하고 활성화합니다.
2. 클라우드 셸 또는 로컬 터미널에서 다음 명령어를 입력합니다.
gcloud services enable container.googleapis.com
2단계: Kubernetes 클러스터 생성
GKE API를 활성화한 후 Kubernetes 클러스터를 생성해야 합니다. 클러스터의 크기와 사양은 특정 요구에 따라 조정될 수 있습니다. 다음은 크기가 n1-standard-1인 노드 3개가 포함된 예입니다.
gcloud container clusters create example-cluster --zone=us-central1-a --num-nodes=3 --machine-type=n1-standard-1
위 명령을 실행할 때 "example-cluster"를 생성해야 하는 클러스터 이름으로 바꿔야 합니다. 또한 클러스터를 생성할 지역도 선택해야 합니다. 여기서는 us-central1-a를 선택했습니다. 쿠버네티스 클러스터의 노드 수와 사양도 실제 상황에 맞게 조정해야 한다.
3단계: Kubernetes 클라이언트 도구 설치
Kubernetes 클러스터를 생성한 후 클러스터를 관리하려면 Kubernetes 클라이언트 도구를 설치하고 구성해야 합니다. Kubernetes 클라이언트 도구에는 일반적으로 kubectl 및 Helm이 포함됩니다. kubectl은 Kubernetes 클러스터, Pod 및 컨테이너를 관리하고 생성, 업데이트, 삭제, 확장과 같은 작업을 수행하는 데 사용할 수 있는 Kubernetes용 명령줄 도구입니다. Helm은 타사 라이브러리를 설치하고 관리하는 데 사용할 수 있는 패키지 관리자입니다.
kubectl을 설치하고 구성하는 방법은 다음과 같습니다.
1. 로컬 터미널에 kubectl을 설치합니다:
gcloud components install kubectl
2. 현재 클러스터로 kubectl을 구성합니다:
gcloud container clusters get-credentials example-cluster --zone=us-central1-a
3. 그런 다음 kubectl 명령줄 도구를 사용할 수 있습니다. 클러스터를 관리하려면 예를 들어 다음 명령을 실행하여 Kubernetes 클러스터의 모든 노드를 가져옵니다.
kubectl get nodes
Helm을 설치하고 구성하는 방법은 다음과 같습니다.
1 로컬 터미널에 Helm Binary 파일을 다운로드하고 설치합니다. it:
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get-helm-3 | bash
2. 현재 Kubernetes 클러스터 구성에 Helm 연결:
kubectl create serviceaccount --namespace kube-system tiller kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller helm init --service-account tiller --upgrade
4단계: GKE에 Go 애플리케이션 배포
마지막으로 Go 애플리케이션을 Kubernetes 클러스터에 배포할 수 있습니다. 다음은 배포 및 서비스 리소스를 사용하여 Go 애플리케이션을 배포하는 예입니다.
1. 배포 및 서비스 리소스가 포함된 YAML 파일을 만듭니다. 예:
apiVersion: apps/v1 kind: Deployment metadata: name: go-app-deployment labels: app: go-app spec: replicas: 3 selector: matchLabels: app: go-app template: metadata: labels: app: go-app spec: containers: - name: go-app image: gcr.io/example-project/go-app:latest ports: - containerPort: 8080 protocol: TCP --- apiVersion: v1 kind: Service metadata: name: go-app-service labels: app: go-app spec: selector: app: go-app ports: - port: 80 targetPort: 8080 protocol: TCP type: LoadBalancer
여기서 "go-app-deployment"는 우리가 만든 배포입니다. 리소스 이름, "go-app"은 우리가 사용하는 네임스페이스이고 "go-app-service"는 우리가 만든 서비스 리소스의 이름입니다. 'gcr.io/example-project/go-app:latest'와 같은 배포 리소스에 대한 컨테이너 이미지를 지정해야 합니다.
2. kubectl 명령어를 사용하여 이 YAML 파일을 Kubernetes 클러스터에 적용합니다.
kubectl apply -f go-app.yaml
3. 다음 명령어를 실행하여 GKE에서 생성된 외부 IP 주소를 가져옵니다.
kubectl get service go-app-service
반환된 결과에서 "EXTERNAL"을 찾을 수 있습니다. - IP" 필드에서 이 주소는 우리가 배포한 Go 애플리케이션의 주소입니다.
요약
이 문서에서는 Go 언어로 GKE를 사용하는 방법에 대한 완전한 가이드를 제공합니다. GKE는 데이터 자동화, 고가용성, 확장성, 사용하기 쉬운 인터페이스를 위한 컨테이너 조정을 제공하는 완전 관리형 Kubernetes 엔진입니다. 이 문서에 언급된 방법을 사용하면 Go 애플리케이션을 GKE에 쉽게 배포하고 자동화된 배포 프로세스를 추가하여 애플리케이션 배포를 더욱 편리하게 만들 수 있습니다.
위 내용은 Go에서 Google Kubernetes Engine(GKE) 사용: 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go Language의 부동 소수점 번호 작동에 사용되는 라이브러리는 정확도를 보장하는 방법을 소개합니다.

Go Crawler Colly의 대기열 스레딩 문제는 Colly Crawler 라이브러리를 GO 언어로 사용하는 문제를 탐구합니다. � ...

Go Language에서 메시지 대기열을 구현하기 위해 Redisstream을 사용하는 문제는 Go Language와 Redis를 사용하는 것입니다 ...

Go Language의 문자열 인쇄의 차이 : println 및 String () 함수 사용 효과의 차이가 진행 중입니다 ...

골란드의 사용자 정의 구조 레이블이 표시되지 않으면 어떻게해야합니까? Go Language 개발을 위해 Goland를 사용할 때 많은 개발자가 사용자 정의 구조 태그를 만날 것입니다 ...

GO 언어에서 구조를 정의하는 두 가지 방법 : VAR과 유형 키워드의 차이. 구조를 정의 할 때 Go Language는 종종 두 가지 다른 글쓰기 방법을 본다 : 첫째 ...

GO의 어떤 라이브러리가 대기업이나 잘 알려진 오픈 소스 프로젝트에서 개발 했습니까? GO에 프로그래밍 할 때 개발자는 종종 몇 가지 일반적인 요구를 만납니다.

sql.open을 사용할 때 DSN에 오류가 발생하지 않는 이유는 무엇입니까? Go Language, SQL.open ...
