일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- kotlin coroutine
- go
- Linux
- kotlin querydsl
- mysql 튜닝
- Pinpoint
- docker
- kotlin
- Elasticsearch
- 오블완
- CKA 기출문제
- 정보처리기사실기 기출문제
- AI
- AWS EKS
- CKA
- aws
- 기록으로 실력을 쌓자
- Kubernetes
- CloudWatch
- 공부
- Spring
- APM
- 정보처리기사 실기 기출문제
- PETERICA
- Java
- golang
- tucker의 go 언어 프로그래밍
- 코틀린 코루틴의 정석
- minikube
- 티스토리챌린지
- Today
- Total
목록분류 전체보기 (868)
피터의 개발이야기

[kubernetes] 쿠버네티스 목차 ㅁ 개요 ㅇ 이 글은 쿠버네티스 공식 문서 중 "쿠버네티스란 무엇인가?" 를 바탕으로 쿠버네티스 개요를 정리하였다. ㅁ Kubernetes란 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 좋고, 확장이 용이한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 컨테이너 가상화 기술은 서비스간에 자원격리를 하는데 OS를 별도로 띄우지 않아도 되기에 자동화에 빠르고, 자원 효율이 매우 높습니다. ㅁ Kubernetes 어원과 역사 쿠버네티스란 명칭은 '키잡이'(helmsman)나 '파일럿'..

ㅇ DevOps는 일종의 문화이다. 개발과 운영을 통합하여 전인적인 개발자로 성장할 수 있는 길이라고 생각한다. 전체를 바라보고 미쳐 알지 못했던 DevOps로서 알아야 할 덕목들을 한분에 볼 수 있는 로그맵을 발견하려 글을 남겨본다. DevOps는 한사람으로 하여금 정말 많은 역할을 수행할 수 있는 기술력을 갖추게 한다.

ㅁ 개요 ㅇ Amazon Elastic Kubernetes Service(Amazon EKS)환경에서 Jenkins를 Pod로 생성하여 사용 중이다 ㅇ 검수계의 경우 비용절감을 위해 일과시간만 사용하다보니 포드가 생성되는 과정에서 에러가 발생할 때가 있다. ㅇ 젠킨스의 error 상황을 확인하고 조치하는 과정을 정리해 보았다. ㅁ 포드 상태 확인 kubectl get pod | grep jenkins ㅇ CrashLoopBackOff 상태로 현재 포드는 기동되어 있지 않은 상태이다. ㅇ CrashLoopBackOff에 걸린 포드가 반복적으로 시작되고 충돌합니다. ㅇ "Back-Off restarting failed container" 출력 메시지를 수신하는 경우 Kubernetes가 컨테이너를 시..

ㅁ 개요 ㅇ Kubernetes환경에서 시스템을 운영하면서 트래픽에 따라 수시로 scale In/Out된다. ㅇ 이런 과정에서 pod가 종료되는 시점에 502 에러가 발생하여 이를 해결하기 위해 고민하게 되었다. ㅇ [Kubernetes] Kubernetes환경에서 graceful shutdown이란 글을 작성하였고, 이 글에서는 graceful shutdown을 적용하는 방법에 대해서 정리하였다. ㅁ SpringBoot에서 graceful Shutdown이란 graceful Shutdown이란 할건 하고 종료하자이다. graceful shutdown은 SpringBoot 어플리케이션 서버 종료 시 webserver를 우선 종료시켜 새로운 요청을 받지 않고, 처리 중인 요청을 완료한 후에 종료하는 것이다..

ㅁ SpringBoot 2.3 이전 버젼에서 graceful shutdown 구현 import org.apache.catalina.connector.Connector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextClosedEvent; import java.util.concurrent.Executor; import java.u..

ㅁ 개요 Kubernetes환경에서 graceful shutdown의 적용방법을 공부하면서 Kubernetes환경에서 오케스트레이션 작업 중 Pod가 종료되는 과정이 많다. 로드밸런싱 역할을 하는 Service와 속해 있는 Pod 들이 종료하는 과정을 정리하였습니다. ㅁ Kubernetes의 Pod 종료과정 1- Pod가 Terminating 상태로 전환되고 새 트래픽 수신을 중지합니다. 컨테이너는 여전히 Pod 내에서 실행 중입니다. 2- preStop hook은 특별한 명령이나 HTTP 요청이 실행되어 Pod 내부의 컨테이너로 전송됩니다. Termination 상태가 된 Pod은 Service의 로드밸런싱 대상에서 제외된다. 로드 밸런싱 대상에서 제외됐으므로 더이상 해당 Pod으로 트래픽이 전달되지 ..

ㅁ 개요 ㅇ Kubernetes가 배포 절차를 수행해 주지만 컨테이너 안에서 Spring Boot 애플리케이션의 정상적인 종료를 위해서는 Graceful shutdown이 필요하다. ㅇ 트래픽에 따라 AutoScaling 되면서 502error가 발생하기 때문이다. ㅇ 502 Error가 발생하는 과정을 설명하고 graceful shutdown의 적용필요성을 정리하였다. ㅁ Graceful shutdown이란 우아한 종료라고 직역할 수 있을 것이다. 이 말을 생각해보면, 마무리를 잘하여 좋게 끝난다는 의미를 내포하고 있다. 다시 말해 할일을 다 마치고 우아하게 종료하는 것이다. 예를 들어 생각해보자. 우리가 문서작업을 할 때에 우리가 원하는 작업이 정상적으로 완료되면, 파일을 저장하고 해당 문서편집파일을..

ㅁ Amazon ECR plugin 에러 발생 Amazon ECR Failed to load: Amazon ECR plugin (amazon-ecr 1.6) - Failed to load: Amazon Web Services SDK :: All (aws-java-sdk 1.12.215-339.vdc07efc5320c) Amazon Web Services SDK :: All Failed to load: Amazon Web Services SDK :: All (aws-java-sdk 1.12.215-339.vdc07efc5320c) - Plugin is missing: aws-java-sdk-codebuild (1.12.215-339.vdc07efc5320c) ㅁ 프로젝트 빌드 실패 ERROR: Could ..

ㅁ Minikube 관련 글 ㅇ [minikube] 맥에 minikube를 사용해 로컬 kubernetes 설치 ㅇ [minikube] minikube 기본 명령어 정리 ㅇ [minikube] minikube 다중노드 구성하기 ㅇ [minikube] minikube에서 meteric server 실행하기 ㅇ [minikube] minikube dashboard 활성화 방법 ㅁ 개요 ㅇ 로컬에서 쿠버네티스 공부를 시작하는 경우, minikube를 사용해 간단하게 단일 노드 클러스터를 구성할 수 있다 ㅇ 단일 노드의 가상머신에서만 실행되기 때문에 분산된 쿠버네티스 클러스터의 안정성은 보장할 수 없다. ㅇ Mac OS에서 minikube를 설치하는 과정을 정리하였다 ㅁ Minikube란? Minikube는 K..

ㅁ 개요 ㅇ 개발 젠킨스 플러그인이 문제가 발생하여 이를 조치하는 과정을 정리하였다. ㅁ Dependency errors Dependency errors: SSH Credentials Plugin (277.v95c2fec1c047) Update required: Trilead API Plugin (trilead-api 1.0.8) to be updated to 1.0.13 or higher Jackson 2 API Plugin (2.13.3-285.vc03c0256d517) Update required: JAXB plugin (jaxb 2.3.0) to be updated to 2.3.6-1 or higher Jenkins GIT server Plugin (1.11) Update required: SSH..