본문 바로가기

study

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와 통신하고 서비스 트래픽을 통제, 옵저버빌리티를 위한 메트릭 제.. 더보기
KANS 3기 Istio KIND 실습환경 구축 kind k8s 배포#cat kind-1node.yaml kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane extraPortMappings: - containerPort: 30000 hostPort: 30000 - containerPort: 30001 hostPort: 30001 - containerPort: 30002 hostPort: 30002 - containerPort: 30003 hostPort: 30003networking: podSubnet: 10.10.0.0/16 serviceSubnet: 10.200.1.0/24 EOFkind create cluster --config .. 더보기
KANS 3기 Gateway API 요즘 매우 핫하는 GatewayAPI에 대해서 공부해보겠습니다! Gateway APIGateway API 소개 : 기존의 Ingress 에 좀 더 기능을 추가, 역할 분리(role-oriented) - Docs Gateway APIGateway API is a family of API kinds that provide dynamic infrastructure provisioning and advanced traffic routing.kubernetes.io- 서비스 메시(istio)에서 제공하는 Rich 한 기능 중 일부 기능들과 혹은 운영 관리에 필요한 기능들을 추가- 추가 기능 : 헤더 기반 라우팅, 헤더 변조, 트래픽 미러링(쉽게 트래픽 복제), 역할 기반 아래 핸드온으로 학습하면 큰 도움이 될 듯.. 더보기
KANS 3기 6주차 첫번째 6주차 공유 시작하겠습니다. Ingress- 클러스터 내부의 서비스(ClusterIP, NodePort, Loadbalancer)를 외부로 노출(HTTP/HTTPS) - Web Proxy 역할 그림 소개 : 출처 - 김태민 기술 블로그 - 링크  인그레스 컨트롤러 : 인그레스의 실제 동작 구현은 인그레스 컨트롤러(Nginx, Kong 등)가 담당 Nginx 인그레스 컨트롤러 경우 : 외부에서 인그레스로 접속 시 Nginx 인그레스 컨트롤러 파드로 인입되고, 이후 애플리케이션 파드의 IP로 직접 통신 인그레스 + 인그레스 컨트롤러(Nginx) 기능 : HTTP(서비스) 부하분산 , 카나리 업그레이드 , HTTPS 처리(TLS 종료)  Nginx 인그레스 컨트롤러 설치인그레스(Ingress) 소개 : 클러스.. 더보기