본문 바로가기

개발/개발공부38

Golang Gin Framework 시작 / golang, go, 고랭, 고, 언어, 진, 프레임워크 Golang에 대해 공부를 좀 해야하는데, 시작하기에 Gin Framework를 통해 서버를 만드는게 좋을 것 같아서 Gin으로 찾아봤다. Golang Gin Framework Init % mkdir golang-gin-study % cd golang-gin-study % go mod init github.com/dev-chicken/study-golang/gin/golang-gin-study go: creating new go.mod: module github.com/dev-chicken/study-golang/gin/golang-gin-study % go get -u github.com/gin-gonic/gin go: downloading github.com/gin-gonic/gin v1.8.2 go.. 2023. 2. 3.
Kubernetes DaemonSet / 쿠버네티스, 데몬셋, 서비스, Pattern, 패턴 Kubernetes DaemonSet DaemonSet을 이용하여 모든 노드 혹은 특정 노드에 동일한 Pod들을 실행가능 노드가 클러스터에 추가되면 해당 노드에도 자동으로 추가 노드 제거되면 Pod가 garbage로 수거가 됨 여기서 잠깐 확인해봐야할 것 Background process와 DaemonSet의 차이가 무엇인지 아십니까? - Background process: 유저와 상호작용을 함, Parent process가 존재 - DaemonSet: 유저와 별도로 동작, process동작 Parent process와 연결을 해제 아무튼 그래서 모든 노드에서 log를 수집해야한다거나, 노드 정보를 따로 수집해야한다거나 할때 DaemonSet을 활용하면 됨 apiVersion: apps/v1 kind: .. 2023. 1. 28.
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.
Kubernetes ConfigMap / 쿠버네티스, 패턴, pattern, 환경변수, 설정, 컨피그맵, CM Kubernetes ConfigMap 설정 정보를 key-value 값으로 저장 key-value외에도 conf파일 자체를 저장할 수 있음 최대 1MB의 사이즈 저장 가능 kubectl을 통해 파일 참조하여 생성, 직접 값 전달하여 생성할 수 있음 추가로 manifest로도 생성 가능 #파일 참조 $ kubectl create configmap sample-configmap --from-file=./nginx.conf #직접 전달 $ kubectl create configmap sample-configmap --from-literal=NODE_ENV=production #manifest 생성 apiVersion: v1 kind: ConfigMap metadata: name: ~~ data: NODE_EN.. 2023. 1. 25.
Kubernetes EnvVar / 쿠버네티스, 패턴, pattern, 환경변수, dockerfile, env Kubernetes EnvVar Application은 서비스 접근, 분리 등등 다양한 케이스에서 설정이 필요 Application 내부에 환경변수를 설정하는것은 옳지 않음 Container영역에서 사용할 수 있도록 해주는 것이 EnvVar 👎bad case, 하드코딩된 기본 설정값을 사용하는 방식 예전에 Dockerfile에 대해 공부할 때 사용했던 ENV 명령어로 직접 정의 가능 https://dev-chicken.tistory.com/22 Container Image / 컨테이너 이미지, Kubernetes, Docker, Dockerfile Container Image 컨테이너 이미지는 root filesystem과 이미지 설정 정보로 저장 즉 이미지는 root filesystem에 복사되어 사용.. 2023. 1. 25.
반응형