본문 바로가기

전체 글

CICD 스터디 3주차 두번째 Jenkins CI + Argo CD + K8S(Kind) Argo - 공홈 & CD Docs & Rollouts Docs & Blog Argo Projecthttps://github.com/argoproj/blog.argoproj.io  Architecture   Argo CD 설치 및 기본 설정 - helm_chart# 네임스페이스 생성 및 파라미터 파일 작성kubectl create ns argocdcat argocd-values.yamldex: enabled: falseserver: service: type: NodePort nodePortHttps: 30002EOF# 설치helm repo add argo https://argoproj.github.io/argo-helmhelm i.. 더보기
CICD 스터디 3주차 첫번째 그럼 마지막 공유 시작하겠습니다실습환경은 1주차를 기반으로 진행합니다.  1. Jenkins CI + K8S(Kind)kind 설치 : macOS 사용자kind 및 툴 설치# Install Kindbrew install kindkind --version# Install kubectlbrew install kubernetes-clikubectl version --client=true## kubectl -> k 단축키 설정echo "alias kubectl=kubecolor" >> ~/.zshrc# Install Helmbrew install helmhelm version (권장) 유용한 툴 설치# 툴 설치brew install krewbrew install kube-ps1brew install kubect.. 더보기
CICD 스터디 2주차 이번에는 git action에 대해 알아보겠습니다.   1. 직접 개발 후 실행AWS EC2 접속 후 아래 작업 : ssh ubuntu@#python3 -V#cat > server.py   Git 작업서버 1에서 직접 Git 작업#GITUSER=GITUSER=gasidagit clone https://github.com/$GITUSER/cicd-2w.gittree cicd-2w/cp server.py cicd-2w/cd cicd-2w/#git statusgit add .git commit -m "first commit"git push origin mainUsername for 'https://github.com': Password for 'https://gasida@github.com':    서버 실행.. 더보기
CICD 스터디 1주차 두번째 젠킨스를 사용해 보겠습니다. Jenkins Item 생성 : item name(first) - docker 명령 실행 확인Build Steps : Execute shell ⇒ Save 후 지금 빌드 : Console Output 확인echo "docker check" | tee test.txtdocker ps    Gogs Repo 자격증명 설정(gogs-dev-app) : Jenkins 관리 → Credentials → Globals → Add Credentials  Jenkins Item 생성 : item name(second) - 소스코드관리(Git) 설정 + 빌드 파라미터+아래 사진처럼 설정  Build Steps : Execute shellecho "{$FirstPara}"cat VERSION .. 더보기
CICD 스터디 1주차 첫번째 올 해 마무리로 '가시다'의 스터디를 참여하게 되었습니다.바로 cicd스터디 1주차 공유 시작하겠습니다. 1. 컨테이너를 활용한 애플리케이션 개발1.1 python 으로 특정 문자열 출력 → Q. 컨테이너 이미지 Tag 태그 사용 방안# 코드 작성mkdir 1.1 && cd 1.1echo "print ('Hello Docker')" > hello.pycat > Dockerfile  코드 수정# 코드 수정echo "print ('Hello CloudNet@')" > hello.py# 컨테이너 이미지 빌드 : latest 활용 해보자!docker build . -t hello:1docker image ls -f reference=hellodocker tag hello:1 hello:latestdocker i.. 더보기
KANS 3기 EKS AWS VPC CNI AWS VPC CNI : 파드의 IP를 할당해준다, 파드의 IP 네트워크 대역과 노드(워커)의 IP 대역이 같아서 직접 통신이 가능하다 - Github Proposal  K8S Calico CNI 와 AWS VPC CNI 차이-네트워크 통신의 최적화(성능, 지연)를 위해서 노드와 파드의 네트워크 대역을 동일하게 설정함 파드간 통신 시 일반적으로 K8S CNI는 오버레이(VXLAN, IP-IP 등) 통신을 하고, AWS VPC CNI는 동일 대역으로 직접 통신을 한다 [실습] 네트워크 기본 정보 확인# CNI 정보 확인kubectl describe daemonset aws-node --namespace kube-system | grep Image | cut -d "/" -f 2# ku.. 더보기
KANS 3기 Cilium 8주차 스터디 공유 시작하겠습니다. Cilium은 eBPF (Berkeley Packet Filter)를 기반으로 Pod Network 환경 + 보안 을 제공하는 CNI Plugin 입니다 Kubernetes와 같은 Linux 컨테이너 관리 플랫폼을 사용하여 배포된 응용 프로그램 서비스 간의 네트워크 및 API 연결을 제공하는 오픈 소스 소프트웨어 입니다. Cilium eBPF 는 추가적인 App 이나 설정 변경 없이 리눅스 커널을 자유롭게 프로그래밍하여 동작 가능 - 링크Kernel Layer에서 동작하는 Bytecode를 안전하게 Kernel에 Loading(injection) 할 수 있다    Cilium 아키텍처구성요소 - 링크 -Cilium Agent : 데몬셋으로 실행, K8S API 설정으로.. 더보기
KANS 3기 Istio 이번주는 istio에 대해 학습하겠습니다.(양이 매우매우 많습니다..) Istio란?개념 : 마이크로서비스 간에 매시 형태의 통신이나 그 경로를 제어 - 예) 이스티오(Istio), 링커드(Linkerd) - 링크기본 동작 : 파드 간 통신 경로에 프록시를 놓고 트래픽 모니터링이나 트래픽 컨트롤 → 기존 애플리케이션 코드에 수정 없이 구성 가능 구성요소istiod : Pilot(데이터 플레인과 통신하면서 라우팅 규칙을 동기화, ADS), Gally(Istio 와 K8S 연동, Endpoint 갱신 등), Citadel(연결 암호화, 인증서관리 등)Istio proxy : Golang 으로 작성되었고 envoy 래핑한 Proxy, istiod와 통신하고 서비스 트래픽을 통제, 옵저버빌리티를 위한 메트릭 제.. 더보기