최신글

more

github action을 로컬에서 실행해보자

1. 로컬실행이란?github action 로컬실행은 git push를 하지 않고 workflow를 로컬에서 실행하는 방법입니다.  2. 로컬실행의 장점이전에 workflow 변동사항을 확인하기 위해 시간이 매우 많이 걸렸습니다. git push를 하고 workflow가 실행될 때까지 기다려야 했습니다. 로컬 실행은 이 과정을 모두 생략하고 로컬에서 worfklow를 바로 실행하여 시간을 절약합니다. 3. 제약사항github action이 주입하는 설정이 일부 없습니다. 예로 github.event객체의 일부 이벤트필드가 없습니다. 그리고 github 관리자페이지에서 설정한 github action environment, secrets을 가져올 수 없어 별도 설정이 필요합니다. 4. 실행..

github action workflow로 cron을 실행할 때 주의사항

cron 사용방법 github action worklfow는 cron을 지원합니다. 내가 정한 시간에 workflow를 실행할 수 있습니다. 사용방법은 트리거 조건인 on에 schedule필드를 설정하면 됩니다. on: schedule: - cron: "15 4,5 * * *" cron 주의사항 cron을 운영환경에 사용할 때 3가지 주의사항이 있습니다. 치명적인거는 cron이 실행이 지연되거나 안될 수 있습니다. cron에 설정한 시간에 workflow가 실행이 안되고 지연될 수 있다. 때때로 실행이 안될 수 있다. 디폴트 브랜치(main)에 있는 workflow만 cron을 사용할 수 있다.

EKS IRSA 동작원리 톺아보기

1. IRSA란? IRSA(IAM Roles for Service Accounts)는 쿠버네티스 service account에 IAM role을 설정하는 기능입니다. pod는 service account에 설정된 IAM role을 사용하여 AWS리소스 작업을 합니다. pod가 IAM role을 사용할 때, AssumeRoleWithWebIdentity API가 호출되어 assume role이 수행됩니다. 2. 사용방법 사용방법은 매우 간단합니다. service account annotation에 IAM role arn을 설정하면 됩니다. 그리고 2가지 설정이 필요한데 다음 챕터인 [IRSA를 사용하기 위한 설정]에서 설명합니다. 예제코드: https://github.com/choisungwook/eks-..

쿠버네티스 공부 기록

쿠버네티스 네트워크 스터디 1주차 1편: 컨테이너 격리

스터디 목차 1주차 컨테이너 격리 - https://malwareanalysis.tistory.com/248 네트워크 네임스페이스 - https://malwareanalysis.tistory.com/249 2주차 Flannel CNI: https://malwareanalysis.tistory.com/254 pause 컨테이너: https://malwareanalysis.tistory.com/255 3주차 calico 기본 통신과정: https://malwareanalysis.tistory.com/256 ccalico 모드: https://malwareanalysis.tistory.com/264 4주차 service와 kube-proxy iptables모드: https://malwareanalysis.ti..

연재 시리즈 2022.01.09 2

Helm 시작하기 - 1편. helm이란?

안녕하세요. 이 시리즈는 helm을 처음 공부하는 사람을 위한 입문서입니다. helm 시리즈 목차 1편 helm이란? : https://malwareanalysis.tistory.com/193 2편 helm 설치 : https://malwareanalysis.tistory.com/194 3편 helm차트 생성: https://malwareanalysis.tistory.com/195 4편 helm 차트 설치, 조회, 삭제: https://malwareanalysis.tistory.com/196 5편 helm 차트 템플릿 값 동적 수정: https://malwareanalysis.tistory.com/197 6편 values.yaml 오버라이딩: https://malwareanalysis.tistory.co..

연재 시리즈 2021.11.19 0

ArgoCD 1편 - 컨셉과 장단점

안녕하세요. 이 글은 ArgoCD시리즈입니다. 영상: https://youtu.be/cLgzqc_hwIg 1. 컨셉 ArgoCD는 공식문서 소개처럼 쿠버네티스를 위한 GitOps도구입니다. GitOps는 Git과 Operations의 합성어인데요! 현재 쿠버네티스 상태를 git으로 관리하는 문화입니다.즉, 쿠버네티스에 배포하려고 하는 상태를 Git에 저장하면 ArgoCD가 git에 있는 내용을 쿠버네티스 배포합니다. git에 저장되어 있는 내용은 쿠버네티스 사용자가 의도된 상태(Desired state)로 취급됩니다. 쿠버네티스 declarative와 동일한 개념입니다. ArgoCD는 의도된 상태를 쿠버네티스에 동기화하려면 조건이 필요합니다. 현재 상태와 의도된 상태와 차이가 있어야 합니다. 예를 들어 ..

연재 시리즈 2022.08.12 0

kustomize 1편 - kustomize란?

글이 이전되었습니다. 링크: https://malwareanalysis.tistory.com/402 안녕하세요. 이 글은 kustomize가 무엇인지 소개합니다. 1. Kustomize란? kustomize는 쿠버네티스 리소스(yaml파일)를 변경하지 않고 필드를 재정의하여 새로운 쿠버네티스 리소스를 생성하는 도구입니다. 2. 실습하면서 살펴보기 글로 보는 것보다 직접 실습하면 바로 어떤 도구인지 알 수 있을 것 같아요! 제 github repo(https://github.com/choisungwook/kustomize-example)를 다운로드 받고 example_1폴더에 있는 파일을 살펴봅시다. pod.yaml과 kustomization.yaml파일이 실습에 필요한 파일입니다. kustomizatio..

연재 시리즈 2022.08.02 0

도커이미지레이어 1편 - 이미지 레이어

목차 1편 도커 이미지 레이어 구조: https://malwareanalysis.tistory.com/213 2편 Dockerfile과 이미지 레이어 관계: https://malwareanalysis.tistory.com/234 3편 빌드캐시: https://malwareanalysis.tistory.com/236 4편 빌드과정에서 일어나는 일: https://malwareanalysis.tistory.com/222 1편에서는 도커 이미지 레이어를 설명합니다. 이 글은 영상으로도 만나 볼 수 있습니다. https://youtu.be/StsgkD71028 1. 준비 Dockerfile을 한번이라도 써봤다는 전제로 글을 설명합니다. 2. 레이어란? 도커 이미지는 레이어(layer)와 메타정보로 구성되어 있습..

연재 시리즈 2021.11.30 0