일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kubernetes
- docker
- 자바스크립트
- 클라우드
- TypeScript
- 알고리즘
- 이슈
- k8s
- 솔리디티
- JavaScript
- 백엔드
- 이더리움
- 웹
- 쿠버네티스
- 파이썬
- next.js
- 프론트엔드
- AWS
- 가상화
- 타입스크립트
- 컴퓨터공학
- 백준
- VUE
- es6
- HTML
- react
- 블록체인
- 리액트
- CSS
- BFS
- Today
- Total

목록📖 전체보기 (254)
즐겁게, 코드

쿠버네티스에서 파드 내 컨테이너의 이미지 이름만 알아내고 싶었던 경우가 있었습니다. 이를 위해 --ouput 플래그를 활용해 결과값을 json 또는 yaml로 포맷팅해 상세 정보를 확인할 수도 있지만, 대부분의 템플릿은 너무나도 방대한 양의 정보를 담고 있어 원하는 정보를 찾기 쉽지 않습니다. 디플로이먼트를 yaml 포맷으로 출력할 경우 apiVersion: apps/v1 kind: Deployment metadata: ... spec ... template: metadata: creationTimestamp: null labels: app: first-app spec: # 약 50줄 가까이의 yaml 템플릿 안에서 찾는 내용을 발견해야 합니다. containers: - image: spacesangso..

CLI 환경에서 쿠버네티스를 조작하다 보면 불편한 점이 종종 생기는데요, 오늘은 쿠버네티스를 조금이라도 더 간편하게 사용하기 위한 방법들을 소개해보려 합니다. 리소스 이름 축약어 사용하기 리소스 이름은 축약어를 사용할 수 있습니다. 자주 사용되는 리소스 축약어 목록 node → no pod → po deployment → deploy service → svc namespace → ns configmap → cm 추가적으로 필요한 리소스들의 축약어 목록은 공식 문서 - 리소스 타입 에서도 확인해볼 수 있습니다. 커맨드 앨리어스 지정하기 kubectl 커맨드를 매번 입력하는 대신 .zshrc 또는 .bash_profile 등의 에디터 설정 파일에서 앨리어스를 지정하면 보다 편하게 커맨드를 작성할 수 있습니다..

본 포스트는 Google Cloud Tech의 영상 내용을 정리하면서 작성한 글입니다. 이번 글에서는 네임스페이스를 통해 소스를 분리하는 방법을 소개합니다. 네임스페이스란? 쿠버네티스의 네임스페이스란 한 클러스터 내에서 격리된 개발 환경을 제공하는 방법입니다. 즉 네임스페이스는 "클러스터 안의 클러스터" 라고 생각할 수 있으며, 이를 통해 리소스들을 원하는 그룹으로 묶거나 성능을 최적화하는데 도움을 줄 수 있습니다. 예를 들어 개발용 환경과 배포용 환경을 따로 구축하고 싶다면 클러스터를 둘 생성할 필요 없이, 개발용 네임스페이스와 배포용 네임스페이스를 구성하는 것으로 개발 환경을 분리할 수 있게 됩니다. 네임스페이스 생성 & 사용하기 네임스페이스는 kubectl create namespace 커맨드를 사..

본 포스트는 Google Cloud Tech의 영상 내용을 정리하면서 작성한 글입니다. 이번 글에서는 쿠버네티스의 좋은 습관 중 하나인 작은 이미지를 활용하는 방법을 소개해보려 하는데요, 이미지 크기를 작게 유지하는 것은 가장 기본적이면서도 효과적인 방법 중 하나입니다. 테스트용 go 어플리케이션 package main import "fmt" func main() { fmt.Println("hello world") } 이미지 빌드용 도커파일 예시 FROM golang WORKDIR /app COPY ./* . RUN cd /app && go build CMD go run hello 그런데 콘솔에 "hello world" 를 출력하는 정말 간단한 코드조차 빌드하면 자그마치 1GB에 달하는 이미지가 생성되..

본 포스트의 내용은 이 깃허브 레포에서 확인해보실 수 있습니다. 🙂 저는 알고리즘 문제를 풀이하면 그 코드를 깃허브에 업로드하곤 하는데요, 어느 날 저장소의 일관되지 않은 커밋 메시지가 신경쓰이기 시작했습니다. 컨벤션이나 커밋 템플릿을 따로 제작해둔다고 해도 이는 결국 사람이 남기는 것인 만큼 실수가 발생할 여지가 충분히 있었고, 이번 기회에 Github Action 을 사용해 커밋 메시지를 고정하는 태스크를 추가해보려 시도했습니다. ✅ 나중에 알게 된 사실이지만, 이렇게 Git의 이벤트(Ex. commit, push...) 를 감지해 특정 액션을 트리거히고자 할 때는 클라이언트에서 실행되는 Git hooks 를 사용할 수도 있습니다. 1. 커밋 메시지 고정하기 첫 번째 목표는 커밋 메시지를 특정 컨벤..

테라폼의 output은 모듈의 생성 결과를 다른 모듈에서 사용하거나 사용자에게 요소의 특정 값(Ex. 생성된 클러스터의 유저네임)을 출력하는 역할을 하는데요, 공식 문서에서는 다음 유스케이스를 제시하고 있습니다. 자식 모듈은 output을 통해 리소스의 하위 요소들을 부모 모듈에 공개할 수 있습니다. 루트 모듈에서는 terraform apply를 성공적으로 마친 후 생성된 특정 값들을 출력할 수 있습니다. 원격 상태(remote state)를 사용할 때는, terraform_remote_state 를 사용해 다른 테라폼 파일에서도 output 값을 사용할 수 있습니다. output 선언 방법 output 선언 방법은 정말 간단합니다. 출력할 값을 정한 후, 필요에 따라 sensitive 여부나 descr..

한국항공대 소프트웨어학과에서는 캡스톤 디자인(종합설계) 대신 교내 스타트업에서 파트타임 인턴십을 수행해야 하는데요, 제가 수행중인 프로젝트의 기록을 간단하게나마 남겨보고자 합니다. 이번 글에서는 본격적인 과제 구현 이전 수행한 요구사항 분석 및 도출 결과 등을 다룹니다. 과제 - AWS 기반 장애 복구용 백업 인프라 구성 현재 파트타임 R&D 활동을 진행하고 있는 업체는 가수의 음반(앨범)과 비슷한 상품을 판매하는 회사인데요, 인기있는 가수가 신규 음반을 발매하면 트래픽이 집중되어 서버에 부하가 발생하는 문제가 있었습니다. 따라서, 이번 프로젝트 기간 동안 고객이 다수 몰리더라도 필요한 만큼 탄력적으로 인스턴스를 스케일링할 수 있는 클라우드 기반 백업 인프라를 구현하고자 합니다. 현재 상황 문제가 되는 ..