목록Kubernetes (16)
이야기박스
지난번 Docker-compose를 활용한 Redis 배포에 이어서 이번에는 Kubernetes에 배포를 해보려고 합니다. Helm에서 유명한 오픈소스인 bitnami charts를 활용하여 helm으로 간단하게 배포를 진행해보았습니다. 사전 작업 helm repo add bitnami https://charts.bitnami.com/bitnami Sentinel 구성 values.yaml 파일을 아래처럼 간소화해서 구성하였습니다. # sentinel-values.yaml fullnameOverride: redis-sentinel commonAnnotations: reference/blog: https://box0830.tistory.com/ image: tag: 7.0.5-debian-11-r0 arc..
Skaffold란? 코드 수정 → 쿠버네티스 클러스터까지 적용을 단순화해준 프레임워크입니다. Code change Docker container build Kubernetes resources deploy Debugging on k8s cluster 공식 문서 https://skaffold.dev/docs/ 사전 작업 skaffold 설치 $ brew install skaffold $ skaffold version d879183-dirty skaffold init $ skaffold init ✔ │ 13:48:40 ? Choose the builder to build image story-test Buildpacks (pom.xml) ? Which builders would you like to ..
쿠버네티스의 가장 큰 강점은 사용자가 신경 쓰지 않아도 지정된 클러스터에 자동으로 리소스가 나누어지는 것에 있죠. 하지만 특정 워커 노드, 집단에 배포되면 안될때, 어떻게 하면 될까요? 쿠버네티스에서는 위 문제를 두 가지 관점에서 풀려고 하였습니다. 노드 관점에서 받아들일 파드 정하기 - Node Taint, Pod Toleration 두 정책을 바탕으로 해결하고자 하였습니다. 파드 관점에서 들어갈 노드 정하기 - Node Affinity를 통하여 파드의 배포를 관리자가 조율할 수 있도록 합니다. # 노드 관점; Node Taint, Pod Toleration ## Taint ; Node 설정 Master 노드에서 테인트 확인 가능합니다. $ kubectl describe node master.k8s N..
# Proxy Protocol이란? https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt # nginx, accepting the proxy protocol https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/ NGINX Docs | Accepting the PROXY Protocol Preserve client information provided by the PROXY protocol, for advanced load balancing of HTTPS, HTTP/2, TCP, and WebSocket traffic. docs.nginx.com 참고 https://k..
쿠버네티스에서 제공하는 REST API 서비스에 https 통신을 제공하기 위하여 Ingress와 SSL 설정에 대한 기술 조사를 진행하게 되었습니다. 간략한 기술 소개 및 yaml 파일 예시를 소개하려고 합니다. # Ingress란? Ingress (명사) - 가거나 들어가는 행위; 들어갈 수 있는 권리; (어떤 장소에) 들어감; 입장권 보통 ingress는 서버 내부로 유입되는 트래픽을 나타내고 egress는 서버 외부로 나가는 트래픽을 의미합니다. 마찬가지로 Kubernetes Ingress는 외부에서 Kubernetes Service 및 다른 Resource에 접근하기 위한 게이트웨이라고 생각하시면 됩니다. ## Ingress가 필요한 이유 하나의 공인된 주소로 다양한 서비스에 포워딩될 수 있음 ..
# Overview Helm이란 Helm2 --> Helm3 바뀐 점 Helm3 사용법 # Helm이란 간단한 애플리케이션이라도 Kubernetes로 구성하다 보면 수많은 yaml 파일이 생겨나게 됩니다. helm은 이렇게 많이 생겨나는 yaml 파일을 간편하게 배포할 수 있게 해 줍니다. 또한 Kubernetes의 주 목적인 다양한 환경(클러스터)에서 간단한 설정의 변경만 가지고도 배포할 수 있게 도와줍니다. 이러한 기능을 가진 Helm은 Template, 설정 파일 등의 파일의 모음이라고 생각하시면 됩니다. 이 파일 모음을 Helm Chart라고 부릅니다. # Change since Helm2 Helm Docs Reference Frequently Asked Questions Frequently As..
CNCF에서 주관하는 Kubernetes Forum Seoul, 2019를 다녀왔습니다. 무려 150$이나 하는 비싼 포럼이기 때문에 더 집중해서 듣고 오게 된 것 같습니다 ㅎㅎ 포럼은 용산, 드래곤시티 호텔에서 열렸습니다. 현장 분위기 등록을 하고나면 바로 옆에서 등록증에 붙일 수 있는 스티커가 준비되어 있습니다. 커뮤니케이션을 위한 스티커, 성 정체성을 존중하는 젠더 스티커가 있었습니다. 키노트 이후에 간단한 다과를 할 수 있는 공간이 있었습니다. 각종 쿠버네티스 부스를 보면서 즐길 수 있었습니다 ㅎㅎ 아래는 제가 들은 트랙에 대한 가벼운 정리입니다. Track 1. How To Debug The Pod Which Is Hard To Debug 발표자: 카카오 이어형 방법 1. Ephemeral Co..
# 개요 Kubernetes의 Pod 컨테이너에서 top을 실행하면, Pod의 메모리가 아닌 노드 전체의 메모리를 보게 됩니다. 그렇기 때문에 Kubernetes 환경에서 자바 애플리케이션을 사용할 때는 Memory에 대한 고려가 충분히 이루어져야 합니다. 참조. 포드의 리소스 관리 Kubernetes. 포드의 계산 리소스 관리 # 개요 Resource Request & Limit Pod의 request / limit QoS (우선순위) 플러그인 (LimitRange, ResourceQuota) 모니터링 # 포드 컨테이너의 리소스 요청 포드의 리소스 request(최소) & limit(최대)은 컨테이너.. box0830.tistory.com 이번 포스트는 Spring Boot 앱을 개발할 일이 있어서 -..