728x90
1) vim main.go
package main
import (
"fmt"
"github.com/julienschmidt/httprouter"
"net/http"
"log"
"os"
)
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
hostname, err := os.Hostname()
if err == nil {
fmt.Fprint(w, "Welcome! " + hostname +"\n")
} else {
fmt.Fprint(w, "Welcome! ERROR\n")
}
}
func main() {
router := httprouter.New()
router.GET("/", Index)
log.Fatal(http.ListenAndServe(":8080", router))
}
2) Golang 설치
sudo apt install golang #Go 설치
go get github.com/julienschmidt/httprouter #github 소스코드 가지고 오기
go build main.go #main.go 빌드
./main # 실행
3) 확인
3-1 ) 웹 미리 보기 클릭 후 8080 포트 연결

3-2) 접속 확인

4) docker build
mkdir http_go #디렉토리 생성
mv main ./http_go/ #build한 파일을 디렉토리로 이동
cd http_go #디렉토리로 이동
vim dockerfile #도커파일 작성
dockerfile
FROM golang:1.11
WORKDIR /usr/src/app
COPY main /usr/src/app
CMD ["/usr/src/app/main"]
docker build
docker build -t http-go . #도커 파일 빌드
docker run -d -p 8080:8080 --rm http-go #빌드한 파일 실행
docker ps # 확인
5) dockerhub 에 올리기
docker tag http-go widn45/http-go # tag 변경
docker login # hub 계정 로그인
docker push widn45/http-go #docker push728x90
'데브옵스(DevOps)를 위한 쿠버네티스 마스터 > 쿠버네티스 들어가기' 카테고리의 다른 글
| 쿠버네티스 애플리케이션과 서비스 동작 구조와 HTTP 서버 스케일링 (0) | 2022.07.09 |
|---|---|
| Go 언어로 작성한 컨테이너 쿠버네티스에 올리기 (0) | 2022.07.09 |
| AWS EKS를 활용한 쿠버네티스 사용 (0) | 2022.07.09 |
| GCP에 쿠버네티스 설치 및 실행 (0) | 2022.06.08 |
| 클러스터 구성 및 쿠버네티스 테스트 (0) | 2022.06.06 |