전체 글

Vault HA클러스터 배포kind create cluster --name myk8s --image kindest/node:v1.32.8 --config - Vault HA mode1대의 Acitve와 나머지 StandbyWorkflow : Secrets , Policy , Authentication SecretsVault는 여러 가지 유형의 비밀을 관리할 수 있으며, 각 비밀 유형은 비밀 엔진이라는 독립된 구성 요소에 의해 볼트에서 관리비밀 엔진은 데이터를 저장, 생성 또는 암호화하는 구성 요소비밀 엔진은 데이터를 제공하고, 해당 데이터에 대해 조치를 취하며, 결과를 반환일부 비밀 엔진은 암호화된 Redis/Memcached와 같이 데이터를 저장하고 읽음다른 비밀 엔진은 다른 서비스에 연결하여 주문형..
·Cloud/CICD
k8s 클러스터 배포kind create cluster --name myk8s --image kindest/node:v1.32.8 --config - Vault 설치## helm repo setuphelm repo add hashicorp https://helm.releases.hashicorp.comhelm repo updatehelm search repo hashicorp/vault## ns 생성k create ns vault## values 파일 작성cat vault-values.yamlglobal: enabled: true tlsDisable: trueserver: standalone: enabled: true config: | ui = true listene..
·Cloud/CICD
Vault 설명1. 왜 시크릿 관리 & Vault가 필요해졌나?예전처럼 소수의 시스템 + 정적인 인프라일 때는 DB 계정 몇 개만 잘 관리하면 됐음.현재 클라우드 + MSA + DevOps 환경:마이크로서비스 수십/수백 개컨테이너가 수시로 생겼다가 사라짐AWS / Azure / GCP / SaaS / 각종 API 연동결과관리 대상 시크릿 개수가 폭증시크릿이 Git, 설정 파일, 환경변수, 개발자 PC 등에 막 흩어짐2. 아키텍처 진화 vs 시크릿 관리 현실메인프레임 / 모놀리식시스템이 중앙집중, 변경 적고 단순.시크릿 개수도 적고, 어디에 있는지도 명확.3-Tier / 클라이언트-서버Web / App / DB 분리.관리해야 할 시크릿은 늘었지만, 인프라는 여전히 정적.클라우드 / MSA / DevOps ..
·Cloud/CICD
Cluster Management실습 환경 배포## kind cluster 배포kind create cluster --name mgmt --image kindest/node:v1.32.8 --config - argocd-values.yamlglobal: domain: argocd.example.comserver: ingress: enabled: true ingressClassName: nginx annotations: nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/ssl-passthrough: "true" tls: trueEOF## argocd 설치helm r..
·Cloud/CICD
사전 환경 설정Kind K8s ClusterIngress-nginx 설치ArgoCD 설치 cert-manager 없이 OpenSSL로 self-signed 인증서 생성 및 Secrets 생성Argo CD 서버는 TLS 인증서를 argocd-server-tls Secret 에서 직접 로드server.ingress.tls=true + nginx.ingress.kubernetes.io/ssl-passthrough=true설정으로 Ingress는 TLS를 종료하지 않고 그대로 Pod에게 전달따라서 브라우저 → Ingress → Argo CD Server 까지 end-to-end HTTPS가 유지됨 ## Argo CD가 자신의 TLS를 쓰도록 argocd 네임스페이스에 tls 타입 시크릿 생성kubectl cre..
·Cloud/CICD
GitOps 란?깃옵스라는 용어는 플럭스라는 깃옵스 도구를 만든 웨이브웍스 직원들이 처음 사용했다.깃옵스의 정의는 다양하다. 풀 리퀘스트를 통한 운영으로 정의하기도 하고, 개발 관행(버전 제어, 협업, 규정 준수, CICD)을 인프라 자동화에 적용하는 것으로 정의하기도 한다.가장 중요한 정의는 CNCF의 Application Delivery TAG에 속한 그룹인 깃옵스 워킹 그룹에서 정의한 것이다.이 그룹은 깃옵스에 대해 특정 벤더에 종속되지 않고 원칙에 입각한 정의를 구축할 목적으로 다양한 회사 사람들로 구성돼 있다.Declarative 선언적 구성엔지니어가 원하는 의도와 완료된 상태를 명시하지만, 이를 위해 실행하기 위한 구체적인 행동을 명시하지 않는다.예를 들어 “컨테이너 3개를 만들어라”와 같이 ..
·Cloud/CICD
Jenkins, gogs 컨테이너 기동mkdir cicd-labscd cicd-labs## docker-compose.yamlcat docker-compose.yamlservices: jenkins: container_name: jenkins image: jenkins/jenkins restart: unless-stopped networks: - cicd-network ports: - "8080:8080" - "50000:50000" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./jenkins_home:/var/jenkins_home gogs: container_..
·Cloud/CICD
Tekton 소개Tekton은 Kubernetes 네이티브 CI/CD 파이프라인을 구축하기 위한 오픈소스 프레임워크입니다.클라우드 네이티브 CI는 이 프로세스에 클라우드 컴퓨팅과 클라우드 서비스가 결합한 모델이다.쿠버네티스 클러스터에 확장 모듈 형태로 설치 및 실행되며, CI/CD 파이프라인 구축에 쓰이는 CRD도 제공한다.클라우드 벤더에 종속되지 않고(vendor-neutral) 재사용 가능한 파이프라인 컴포넌트를 제공합니다.아티팩트를 빌드하고 컨테이너를 생성하는 것은 빌다나 십라이트 등으로 할 수 있다.Jenkins, GitLab CI 등 기존 CI/CD 도구를 대체할 수 있으며, GitOps와 잘 통합됩니다.구성 요소텍톤은 모듈식 구조로 되어 있다. 모든 구성 요소를 개별적으로 또는 한 번에 설치할..
·Cloud/CICD
HelmHelm은 K8s 애플리케이션을 관리하기 위한 패키지 매니저, Chart라는 패키지 형식을 사용하여 K8s 리소스들을 템플릿화하고 버전 관리 할 수 있습니다.복잡한 애플리케이션을 한 번의 명령으로 설치, 업그레이드, 롤백할 수 있어 배포 과정을 단순화, 재사용 가능한 Chart를 통해 표줜화된 방식으로 애플리케이션을 배포하고 관리할 수 있다. Test k8s 배포 (\w kind)kind create cluster --name myk8s --image kindest/node:v1.32.8 --config - Helm 차트 디렉터리 레이아웃 생성## 헬름 차트 디렉터리 레이아웃 생성mkdir -p pacman/templates## 루트 디렉터리에 차트 정의 파일 작성cat Chart.yamlap..
·Cloud/CICD
[버전 환경]Kind k8s 1.32.8kube-apiserver is at 1.32kubectl is supported at 1.33, 1.32, and 1.31 [필요 SW]kind, kubectl, helm, krew, conatiner app (docker, orb stack, podman ...)kind k8s cluster 배포kind create cluster --name myk8s --image kindest/node:v1.32.8 --config - 컨테이너도커를 사용한 컨테이너 빌드 : layer, image build / pushDockerfile은 "사용자가 이미지를 조립하기 위해 명령행에서 호출하는 모든 명령을 담은 텍스트 문서"컨테이너 이미지는 아래 그림과 같은 계층 구조각 컨..
ssungz
임썽 블로그