<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>DevOps on Jay's Blog</title><link>https://jaylab.blog/categories/devops/</link><description>Recent content in DevOps on Jay's Blog</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Thu, 07 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://jaylab.blog/categories/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>배포 때마다 끊기던 서비스의 무중단 적용 - Jenkins Rolling Deployment에서 내린 네 가지 결정</title><link>https://jaylab.blog/jenkins-rolling-deploy-pipeline/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://jaylab.blog/jenkins-rolling-deploy-pipeline/</guid><description>타겟 그룹 전체를 동시에 재시작하던 Jenkins 파이프라인을 서버별 순차 배포와 LB 제어로 바꾸며 내린 네 가지 결정과 아직 남은 한계</description></item><item><title>SonarQube를 brew에서 Docker로 옮겼다</title><link>https://jaylab.blog/brew-sonarqube-install-and-sast/</link><pubDate>Fri, 20 Dec 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/brew-sonarqube-install-and-sast/</guid><description>SonarQube Java 분석의 .class 요구 에러를 빌드로 풀고, brew 없이도 돌도록 서버와 Scanner를 Docker로 옮긴 기록</description></item><item><title>Ansible 첫 ping은 publickey에서 막혔다</title><link>https://jaylab.blog/ansible-simple-playbook-practice/</link><pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/ansible-simple-playbook-practice/</guid><description>첫 Ansible ping이 publickey 오류로 막혔고, 인벤토리에 키를 지정해 풀었다. 이어서 ad-hoc 명령과 첫 플레이북까지 돌렸다.</description></item><item><title>Multipass VM 두 대로 Ansible 실습 환경 만들기</title><link>https://jaylab.blog/ansible-multipass-environment/</link><pubDate>Wed, 06 Nov 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/ansible-multipass-environment/</guid><description>맥북에 Multipass VM 두 대를 띄워 제어노드에 Ansible을 설치하고, 관리노드로 SSH 키 접속을 여는 과정을 정리했다.</description></item><item><title>Mac에서 컨테이너 IP로 접속이 안 되는 이유</title><link>https://jaylab.blog/docker-container-network-arch/</link><pubDate>Sat, 21 Sep 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/docker-container-network-arch/</guid><description>Mac에서 컨테이너 IP가 보이는데도 접속되지 않는 건 Docker 네트워크가 Linux VM 안에만 있어서다.</description></item><item><title>Ubuntu 컨테이너에는 sshd가 없다</title><link>https://jaylab.blog/docker-ssh-setting/</link><pubDate>Mon, 02 Sep 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/docker-ssh-setting/</guid><description>PoC에서 SSH 접속을 시험하려는데 Ubuntu 이미지에 sshd가 없어서, openssh-server를 깔고 로컬 2222번 포트로 붙였다.</description></item><item><title>하루를 넘기던 분석 배치를 대기열 길이로 스케일아웃하기까지</title><link>https://jaylab.blog/cloudwatch-alarm-ecs-task-auto-scaling/</link><pubDate>Wed, 24 Jul 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/cloudwatch-alarm-ecs-task-auto-scaling/</guid><description>하루를 넘기던 분석 배치를 대기열 건수 메트릭과 CloudWatch Alarm으로 ECS 태스크 1~10개 사이에서 스케일링한 기록</description></item><item><title>Mac에서는 Metricbeat를 컨테이너 밖에 깔아야 했다</title><link>https://jaylab.blog/docker-elk-metricbeat/</link><pubDate>Wed, 10 Jul 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/docker-elk-metricbeat/</guid><description>Docker ELK에 Metricbeat 컨테이너를 붙였지만 Mac 호스트 메트릭은 수집되지 않아, Mac에 직접 설치해 Kibana에서 CPU 사용량을 확인했다.</description></item><item><title>Aurora MySQL을 8.0으로 올리기 전 알아두면 좋았을 주요 포인트 (feat. 롤백 설계)</title><link>https://jaylab.blog/aurora-mysql-upgrade-8-key-points/</link><pubDate>Tue, 25 Jun 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/aurora-mysql-upgrade-8-key-points/</guid><description>Aurora MySQL 5.7에서 8.0으로 올리며 배포 방식별 다운타임, 파라미터 그룹 우선순위, 바뀐 기본값을 확인하고 롤백 절차를 직접 세운 기록</description></item><item><title>exec format error 이후로 이미지는 GitHub Actions에서 빌드한다</title><link>https://jaylab.blog/docker-buildx-multiarch-and-git-actions/</link><pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/docker-buildx-multiarch-and-git-actions/</guid><description>아키텍처 차이로 생긴 exec format error를 Docker Buildx의 &amp;ndash;platform으로 풀고, GitHub Actions에서 buildx로 빌드해 ECR에 푸시하도록 옮긴 기록</description></item><item><title>[ArgoCD] Error: Unable to create ‘..git/index.lock’: File exists</title><link>https://jaylab.blog/argocd-index-lock-error/</link><pubDate>Thu, 02 May 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/argocd-index-lock-error/</guid><description>ArgoCD Application 생성이 git index.lock 파일 추돌로 실패했을 때 설치 매니포스트 재적용으로 넘긴 기록</description></item><item><title>Repository Workflow를 활용한 manifest 업데이트 아키텍쳐</title><link>https://jaylab.blog/git-actions-build-push-update/</link><pubDate>Fri, 19 Apr 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/git-actions-build-push-update/</guid><description>ECR에 올린 새 이미지를 ArgoCD가 알게 하려고, GitHub Actions 마지막 job에서 별도 manifest 저장소의 이미지 태그를 sed로 바꿔 커밋하게 만든 설정</description></item><item><title>Terraform으로 만든 RDS가 삭제된 VPC를 계속 찾던 이유</title><link>https://jaylab.blog/terraform-error-create-intance-by-old-vpc-id/</link><pubDate>Thu, 11 Apr 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/terraform-error-create-intance-by-old-vpc-id/</guid><description>잘 돌던 RDS 생성 코드가 사라진 VPC를 참조하며 실패했고, state를 다 지워도 소용없다가 db_subnet_group_name을 명시해 해결했다.</description></item><item><title>Kubernetes 환경에 ArgoCD 활용 Git Repo CI/CD 아키텍쳐</title><link>https://jaylab.blog/git-actions-argocd-cicd-minikube/</link><pubDate>Fri, 05 Apr 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/git-actions-argocd-cicd-minikube/</guid><description>빌드 다음 단계인 클러스터 반영을 ArgoCD에 맡기려고 로컬 Minikube에 설치하고, manifest 저장소 변경이 자동으로 동기화되는 것까지 확인한 기록</description></item><item><title>docker login을 해도 Minikube는 ECR 이미지를 받지 못했다</title><link>https://jaylab.blog/argocd-ecr-image-pull-error/</link><pubDate>Thu, 28 Mar 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/argocd-ecr-image-pull-error/</guid><description>ArgoCD로 배포하던 Minikube 앱의 이미지를 ECR로 옮기자 no basic auth credentials가 났고, docker-registry Secret을 만들어 해결했다.</description></item><item><title>포트가 열렸는지 볼 때 쓰는 nc와 ss</title><link>https://jaylab.blog/netcat-and-netstat/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/netcat-and-netstat/</guid><description>Pod 안에서 다른 서버 포트로 연결되는지, 내 앱이 포트를 리스닝하는지 확인할 때 쓰는 nc와 ss의 배포판별 설치 명령을 모았다.</description></item><item><title>docker-compose로 돌던 Kafka 앱을 minikube에 구성하기</title><link>https://jaylab.blog/minikube-build-kafka-app/</link><pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/minikube-build-kafka-app/</guid><description>로컬에만 있는 Spring Boot 이미지를 minikube가 찾지 못하던 문제를 docker-env로 풀고, compose 기반 Kafka 앱을 로컬 k8s에 올렸다.</description></item><item><title>로컬에 있는 이미지를 Minikube는 왜 못 찾을까</title><link>https://jaylab.blog/docker-pull-error-two-effective-solutions/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate><guid>https://jaylab.blog/docker-pull-error-two-effective-solutions/</guid><description>Minikube 배포에서 로컬 이미지인데도 ErrImagePull이 났고, docker-env 연결과 이미지 이름 변경으로 두 번 풀었다.</description></item></channel></rss>