Golang Gin Router / golang, go, 고랭, 고, 언어, 라우터
Golang Gin Router 저번에 이어서 기본적으로 web server를 배울 때 Router가 기본이라고 생각이 들어서, Router에 대해 찾아봤다. Vue / React를 할때도 Router를 기본으로 셋업하긴 했다. 저번에 이어서 바로 Router를 적용하면 package main import ( "github.com/gin-gonic/gin" "net/http" ) func setupRouter() *gin.Engine { r := gin.Default() v1 := r.Group("/api/v1") { v1.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) v1.GET("/hello/:name",..
2023. 2. 4.
Kubernetes Statefulset / 쿠버네티스, 워크로드, 스테이트풀셋, 서비스
Kubernetes Statefulset Statefulset은 application의 상태를 관리해주는 API 오브젝트 Deployment와 비슷하게 container spec에 기반을 두지만, Pod간 독자성을 제공 즉, persistent한 식별자를 제공해주며 네트워크, 스토리지, 순서등의 기능이 있다는 뜻 말 그대로 stateless한 서비스에는 지금까지 공부한 다른 것들을 이용해도 되지만, stateful한 서비스 (ex. DB, network)등에 대해서는 Statefulset을 사용하여 서비스해야함 Deployment에서 Replicas를 1로 고정하여 사용해도 되긴 하지만, 기능과 의미를 완벽히 보장하지 않기에 권장하지 않음 간단하게 정리하자면 - Deployment(Replicaset) ..
2023. 1. 27.
Kubernetes Deployment / 쿠버네티스, 패턴, pattern, 선언적 배포, 디플로이먼트
Kubernetes Deployment Deployment는 container그룹(Pod, ReplicaSet)들의 업그레이드, 롤백 등 배포관련 프로세스를 캡슐화하고 반복, 자동화에 도움을 줌 Self-service방식으로 서비스를 배포하다보면 서비스의 수가 증가할수록 업데이트, 배포에 부담이 커짐 새로운 버전 시작, 기존 파드 안전하게 중지, 새로운 파드 상태 확인, 실패시 롤백 등의 동작이 필요 많은 서비스에 대해 앞선 동작들을 수동으로 하면 문제가 생길 포인트가 많아짐 이런 동작들을 자동화 해주는 것이 Deployment 개념 업데이트 관리, 개별 적용, 배포 프로세스 조정 등 다양한 기능을 사용가능 개발공부를 하다보면 다양한 배포전략이 존재하는 걸 알 수 있는데, Deployment에서도 Rol..
2023. 1. 26.