반응형
IT PICUTRE
- [kubernetes] kind 명령어 정리 📌 클러스터 관리# 클러스터 생성 (단일 노드)kind create cluster --name my-cluster# 설정파일로 클러스터 생성 (멀티노드, 포트매핑 등)kind create cluster --config kind-config.yaml# 생성된 클러스터 목록 확인kind get clusters# 클러스터 삭제kind delete cluster --name my-cluster📌 노드 관리# 클러스터 노드 보기kubectl get nodes# 특정 클러스터의 노드 확인kind get nodes --name my-cluster# 클러스터 노드에 직접 접속docker exec -it my-cluster-control-plane bash📌 이미지 관리# 로컬 도커 이미지 → kind 클러스터에 .. 2025.09.06
- [kubernetes] kind 설치 및 간단한 실행방법 목차1) 사전 준비Docker Desktop 설치 (WSL2 백엔드 권장). Docker가 켜져 있어야 합니다.kubectl 설치 (없다면 함께 설치).Windows (PowerShell)# Docker Desktop 설치(수동 설치 권장), 설치 후 실행# kubectlwinget install -e --id Kubernetes.kubectl # 또는choco install kubernetes-cli -y # 또는scoop install kubectl# kindchoco install kind -y # 또는scoop install kind # 또는winget .. 2025.09.06
- GitHub Actions · AWS OIDC · Reusable Workflow · Terraform IaC 정리 여러 서비스 리포에서 공통으로 사용하는 Reusable Workflow를 구축하고, AWS OIDC 인증을 통해 ECR에 이미지를 푸시하도록 구성했습니다.처음에는 workflow not found / id-token: none 오류 등 삽질이 있었는데, 최종적으로 Access 설정 + Permissions + IAM Role 신뢰 정책을 Terraform으로 관리하면서 안정화했습니다.이번 글에서는 문제 원인 → 해결 방법 → Terraform 코드까지 정리합니다.1. workflow not found 오류원인서비스 레포에서 아래와 같이 호출했지만:uses: orgname/repository-ci-templates/.github/workflows/aws-ecr-deploy.yml@main GitHub에서 .. 2025.09.04
- Terraform에서 AWS SSM Parameter Store 활용하기 erraform으로 인프라를 관리하다 보면, 슬랙 웹훅이나 API 키처럼 민감한 값을 tfvars에 넣고 싶을 때가 많습니다.하지만 이는 보안/ISMS 측면에서 지적될 가능성이 높기 때문에, 보통은 AWS SSM Parameter Store나 Secrets Manager를 이용해 관리합니다.이번 글에서는 SSM Parameter Store를 사용하여 Terraform 코드에서 안전하게 값을 가져오는 방법을 정리했습니다.1. SSM Parameter Store에 값 저장하기먼저 Slack Webhook을 SSM에 SecureString 타입으로 저장합니다.aws ssm put-parameter \ --name "/argocd/notifications/test_slack_webhook" \ --type .. 2025.09.04
- ArgoCD Slack Notifications : Webhook vs Token 방식 비교 1. 들어가며ArgoCD는 GitOps 방식으로 Kubernetes 애플리케이션을 관리할 수 있는 강력한 도구입니다.하지만 운영 환경에서는 단순히 배포만 잘 된다고 끝이 아니죠. 애플리케이션의 동기화(Sync) 성공/실패 상태를 빠르게 알림으로 받아볼 수 있어야 합니다.ArgoCD는 이를 위해 Slack Notifications 기능을 제공합니다.이번 글에서는 EKS 환경에서 Slack 알림을 설정하는 방법과, 실제로 적용해본 Webhook 방식과 Token 방식의 차이점을 정리해보겠습니다.2. Webhook 방식 적용기저희는 먼저 Webhook 방식을 적용했습니다.Webhook은 Slack에서 제공하는 Incoming Webhook URL을 사용해 메시지를 보내는 방식으로, 설정이 간단하고 빠릅니다.주.. 2025.09.01
- EKS 환경에서 ArgoCD Notifications와 Slack 연동하기 이 글에서는 AWS EKS 클러스터 환경에서 ArgoCD Notifications를 설정하고, 애플리케이션 동기화 성공/실패 시 Slack으로 알림을 보내는 방법을 다룹니다. 공식 ArgoCD Helm 차트(v8.3.1)를 기반으로 진행했으며, 실제 환경에서 발생한 문제와 해결 과정을 정리했습니다.초기 문제 상황ArgoCD Notifications를 Slack과 연동하면서 아래와 같은 문제를 겪었습니다.argocd-notifications-cm ConfigMap에서 서비스 설정 누락Slack 알림 전송 시 "not_authed" 에러 발생Terraform으로 리소스 정의 시 metadata 블록 누락으로 검증 오류 발생Notifications Controller에서 과도한 로그 출력해결 과정1. Terr.. 2025.09.01
- ArgoCD 배포 시 실패한 Pod는 삭제됐는데 ReplicaSet은 남아있다? 괜찮은 걸까? 쿠버네티스 환경에서 ArgoCD로 애플리케이션을 배포하다 보면, 실패한 Pod는 삭제됐는데 ReplicaSet(RS)은 계속 남아 있는 상황을 접할 수 있습니다. 처음에는 “이거 뭔가 잘못된 거 아닌가?” 싶지만, 사실은 정상적인 동작입니다. 이번 글에서는 왜 이런 현상이 발생하는지, ReplicaSet을 어떻게 관리해야 하는지 정리해 보겠습니다.1. ReplicaSet이 남는 이유Deployment의 기본 동작 원리쿠버네티스에서 Deployment(또는 Argo Rollouts)는 직접 Pod를 생성하지 않습니다. 대신 ReplicaSet을 생성하고, ReplicaSet이 파드를 관리합니다. 따라서 파드가 실패해 삭제되더라도 ReplicaSet은 그대로 남아 있으며, 필요 시 새 파드를 다시 만들 준비.. 2025.08.29
- Argo CD CLI login 트러블슈팅 (ALB/Ingress, gRPC-Web, Windows) 내부 ALB(HTTP :8080) 뒤의 Argo CD에 Windows에서 CLI로 로그인하려다 context deadline exceeded 를 만난 분들을 위한 실전 메모입니다.포인트만 요약하면:CLI 플래그: --grpc-web --plaintext (+ 필요시 --skip-test-tls)Ingress 경로: /grpc, /api, / 를 Prefix로 각각 백엔드 argocd-server:80에 포워딩ALB 주석: backend-protocol-version=HTTP1, 헬스체크 /api/version서버 URL: configs.cm.url 을 외부에서 접속하는 실제 URL로프록시 우회: NO_PROXY 에 ALB 호스트 추가 배경 환경Kubernetes: v1.33Argo CD: v3.1.x (.. 2025.08.29
- Argo CD에서 “읽기 전용(READ-ONLY)” 사용자 만들기 (Helm/Terraform 예시) 로컬 계정 하나 만들고role:readonly 를 정의해 조회만 허용policy.default 를 role:readonly 로 두되, admin은 명시적으로 전권 매핑Helm values 로 관리하고, 적용 후 argocd-server 재시작 → 비밀번호/토큰 발급 → 권한 확인1) 개념 한 줄 요약Argo CD 권한은 Casbin 정책(policy.csv) 으로 정의합니다.p, , , , , allow|denyg, , role: (사용자→역할 매핑)policy.default 는 매핑되지 않은 사용자의 기본 역할입니다.deny가 allow를 이깁니다. 읽기 전용 역할에 굳이 deny 줄을 많이 넣기보다, “허용만 명시”하는 편이 안전합니다.admin은 반드시 명시 매핑하세요. 기본 역할이 readonly.. 2025.08.29
- 원격 프로그램 추천 Remote Desktop Manager(Devolutions) ssh 만 사용할경우 여러 툴들이꽤나 많지만 windows 원격연결 하려면 돈을 더 내던가 추가적으로 설치하는등 번거롭고 비용이 든다. 그렇다고 일일이 rdp 를 사용하거나 ssh sftp 번갈아가면서 사용하는건 너무 귀찮은일! 그래서 추천하는건 Remote Desktop Manager! cross platform 에서 원격으로 사용하는 기능 및 팀단위로 공유해서사용하는거 아니고 로컬에서 돌린다면 사실상 다 사용가능하다. 다른 모 프로그램에서 세션 늘어나면 돈내는것도 없다!(사용기간이나 세션 50개 제한이있는게 있어서 유료 결제를 했었다... 다운로드 링크https://devolutions.net/remote-desktop-manager/ Remote Desktop ManagerBest r.. 2025.08.29
- CORS “보여주기 vs 읽기”, 프리플라이트, S3·CloudFront 정리 다른 오리진 리소스를 “그려 넣기(표시/적용)”만 하면 보통 CORS 불필요: , , , 등.JS가 응답 “내용을 읽는 요청”(예: fetch/XHR, 픽셀 읽기, 웹폰트)은 브라우저가 SOP로 막음 → 서버가 CORS 헤더로 예외 허용해야 함. MDN Web Docs,2프리플라이트(OPTIONS) 는 “단순 요청(simple request)”이 아니면 뜸(예: Content-Type: application/json, 커스텀 헤더, PUT/DELETE 등). MDN Web Docs, 2Credentials(쿠키/서명/Authorization) 사용 시 Access-Control-Allow-Origin: * 금지, 정확한 오리진을 돌려야 함 + 필요 시 Vary: Origin. MDN Web DocsC.. 2025.08.28
- [AWS IAM] 사용자에게 S3 전체 버킷 조회 + 객체 Get/Put/Delete 권한 부여하기 S3를 다루는 사용자·역할(예: 개발자, CI/CD 러너)에게 모든 S3 버킷을 목록에서 보이게 하고, 각 버킷의 객체 업/다운로드 및 삭제까지 가능하도록 권한을 부여하는 방법을 정리했습니다.실무에서 바로 쓸 수 있는 정책(JSON), 콘솔/CLI/Terraform 적용 예시, 보안 팁(최소권한 설계)까지 포함합니다. 1) 권한 설계 요점버킷 목록 보기: s3:ListAllMyBuckets (계정 단위 동작 → Resource는 반드시 "*").버킷 내부 탐색: s3:ListBucket (버킷 리소스 ARN 필요, 콘솔/CLI에서 객체 키 목록 조회).객체 작업: s3:GetObject, s3:PutObject, s3:DeleteObject (객체 ARN 필요 → /* 포함).콘솔 편의: s3:GetB.. 2025.08.26
반응형