클라우드 컴퓨팅 및 컨테이너화 기술의 발전으로 점점 더 많은 기업이 Kubernetes를 사용하여 애플리케이션을 관리하고 배포하기 시작했습니다. 고성능 개발 언어로서 Golang은 점점 더 개발자들의 선호를 받고 있습니다. 이 기사에서는 Golang의 웹 프레임워크인 Echo 프레임워크와 Kubernetes를 사용하여 애플리케이션을 구축하는 방법을 소개합니다.
먼저 Golang 개발 환경과 Echo 프레임워크를 로컬에 설치해야 합니다. Golang 및 Echo 프레임워크 설치는 공식 문서에 따라 수행할 수 있으므로 여기서는 자세히 설명하지 않습니다.
로컬 개발 환경에서 새로운 Golang 프로젝트를 생성하세요. 사용자가 현재 시간을 쿼리할 수 있는 간단한 웹 애플리케이션을 만들어 보겠습니다. 새 폴더를 만들고 main.go라는 파일을 만듭니다. 다음 코드를 파일에 복사합니다.
package main import ( "net/http" "time" "github.com/labstack/echo" "github.com/labstack/echo/middleware" ) func main() { e := echo.New() // Middleware e.Use(middleware.Logger()) e.Use(middleware.Recover()) // Routes e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, time.Now().String()) }) // Start server e.Logger.Fatal(e.Start(":8080")) }
위 코드에서는 Echo 프레임워크를 사용하여 사용자가 루트에 액세스하면 Path가 반환됩니다. 현재 시간.
배포 프로세스를 단순화하기 위해 애플리케이션을 컨테이너화하고 Docker Hub에 업로드합니다. Dockerfile이라는 파일을 생성하고 다음 코드를 파일에 복사합니다.
FROM golang:1.13-alpine RUN apk --no-cache add gcc g++ make WORKDIR /app COPY . . RUN go build -o main . EXPOSE 8080 CMD ["./main"]
위 코드에서는 Golang에서 공식적으로 제공하는 1.13-alpine 이미지를 기본 이미지로 사용하고 컴파일 종속성을 설치한 후 소스 코드를 컨테이너에 복사했습니다. . 그런 다음 go build 명령을 실행하여 실행 파일을 컴파일하고 마지막으로 웹 서버를 시작합니다.
프로젝트 루트 디렉터리에서 다음 명령을 실행하여 Docker 이미지를 빌드합니다.
docker build -t yourdockerhubusername/echo-app .
배포 전에 Kubectl 도구를 로컬에 설치해야 하며 사용 가능한 Kubernetes 클러스터가 있어야 합니다. Kubectl 도구 설치 및 구성에 대한 자세한 단계는 Kubernetes 공식 문서를 참조하세요.
echo-deployment.yaml이라는 파일을 생성하고 다음 코드를 파일에 복사합니다.
apiVersion: apps/v1 kind: Deployment metadata: name: echo-app labels: app: echo spec: replicas: 2 selector: matchLabels: app: echo template: metadata: labels: app: echo spec: containers: - name: echo-app image: yourdockerhubusername/echo-app ports: - containerPort: 8080
위 코드에서는 컨테이너 이미지 yourdockerhubusername /echo-app을 사용하여 애플리케이션을 실행하는 동안 echo-app이라는 배포를 생성합니다. . 이 배포 인스턴스의 복사본 수는 2개이며 각 복사본은 웹 서버를 시작하고 포트 8080을 수신합니다.
다음으로 echo-app 배포 인스턴스를 노출하는 서비스를 생성해야 합니다. echo-service.yaml이라는 파일을 생성하고 다음 코드를 파일에 복사합니다.
apiVersion: v1 kind: Service metadata: name: echo-service spec: ports: - name: http port: 80 targetPort: 8080 selector: app: echo
위 코드에서는 포트 80에서 수신 대기하고 요청을 에코의 8080 포트로 전달하는 echo-service라는 서비스를 생성했습니다. -app 배포 인스턴스.
프로젝트 루트 디렉터리에서 다음 명령을 실행하여 애플리케이션을 배포합니다.
kubectl apply -f echo-deployment.yaml kubectl apply -f echo-service.yaml
위 명령이 완료된 후 다음 명령을 통해 서비스의 IP 주소를 볼 수 있습니다.
kubectl get svc echo-service
다음으로 http://를 방문하세요. < 브라우저;Service_IP>에서 애플리케이션은 정상적으로 실행되고 현재 시간을 반환해야 합니다.
이 시점에서 우리는 Golang의 Echo 프레임워크와 Kubernetes를 사용하여 간단한 웹 애플리케이션을 성공적으로 구축했습니다. 이 방법은 간단하고 효율적이며 개발 및 배포 효율성을 크게 향상시킬 수 있습니다.
위 내용은 Golang의 웹 프레임워크인 Echo 프레임워크와 Kubernetes를 사용하여 애플리케이션 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!