DevOps 39

[Kubernetes] CI/CD

gcloud services enable container.googleapis.com cloudbuild.googleapis.com sourcerepo.googleapis.com containeranalysis.googleapis.comCloudBuild API를 활성화한다. gcloud artifacts repositories create my-repository --repository-format=docker --location=us-central1Artifact Registry에 my-repository라는 이름으로 저장소를 생성했다.  gcloud container clusters create hello-cloudbuild --num-nodes 1 --region us-central1클러스터를 생..

DevOps/Kubernetes 2024.06.11

[Kubernetes] helm

gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/helm-nodejs .이미지를 빌드해서 Cloud Container Registry에 push했다.  Helm 차트helm create helm-chart차트 생성 cd helm-chartcat values.yaml  cat Chart.yamlappVersion을 확인할 수 있다. cd templatescat service.yaml helm install helm-nodejs .helm 차트를 설치했다.helm-chart 폴더 아래에서 명령어를 실행하지 않으면 위와 같은 에러가 뜬다.Chart.yaml 파일이 필요하기 때문이다. helm package .패키지를 생성한다. gcloud auth pri..

DevOps/Kubernetes 2024.06.09

[Kubernetes] 배포

GKE 클러스터에 연결export my_zone=us-central1-cexport my_cluster=cluster-1source  gcloud container clusters create $my_cluster --num-nodes 3 --zone $my_zone --enable-ip-alias를 실행시키니까 이미 존재한다고 한다.난 GUI 기반으로 생성해서 그런 듯  deployment.yamlcat > deployment.yaml   디플로이먼트 배포kubectl apply -f deployment.yaml  디플로이먼트 상태 확인kubectl get deployments kubectl get pod  kubectl exec -it {POD_NAME} -- /bin/bashnginx-deploym..

DevOps/Kubernetes 2024.06.09

[Nginx] gZip

/etc/nginx/nginx.conf/etc/nginx/sites-available/default에 추가하려니까 에러가 떴었는데 gzip on이 nginx.conf에 기본적으로 활성화 되어있었다.  gzip_disable "msie6";gzip_proxied any;gzip_comp_level 6;gzip_min_length 500;gzip_buffers 16 8k;gzip_typestext/plain text/css text/jstext/xmltext/javascriptapplication/x-javascriptapplication/javascript application/json application/xml application/rss+xmlimage/svg+xml;    참고 👇👇👇TWpow..

DevOps/Nginx 2024.05.17

certbot 인증서 폐지 및 새로운 도메인의 인증서 발급 과정에서 겪은 문제점

기존 EC2가 문제가 있어서 없애고 다시 만들었다.이전에 쓰던 도메인을 사용하려고 certbot으로 새로 인증서를 발급받았다.이상한 점이 프런트엔드 서버를 띄우지도 않았는데 접속이 된다.백엔드랑 통신은 안 되지만캐시 같은건가..?인증서 정보를 보니 발급받은 날짜가 최신이 아니고, 그전에 받은 날짜다.같은 도메인으로 인증서를 발급받으면 이전에꺼를 주는 것 같다.인증서를 폐지하고 싶었는데 인증서가 있던 기존 서버를 삭제해버렸다. 🥹시간이 좀 지나야 EC2 서버가 완전히 죽는 것 같다.내 경험상 일 주일은 지나야했다.서버 분명히 죽었는데 접속되는 거 보면 캐시가 남아있나보다.그 이후에는 SSL 인증서 발급 잘 된다. 😊 🌈 TIL나는 인증서 발급 받을 때 Nginx의 default 파일도 같이 자동으로 ..

DevOps/Nginx 2024.05.15

[AWS] Snapshot을 이용해서 복구하기

1. Snapshots 생성Snapshot을 생성하는데 시간이 좀 걸린다.2. Snapshot을 이용해서 새로운 인스턴스를 생성기존 인스턴스는 직접 삭제해야 함   3. 인스턴스를 생성할 때 방화벽을 해제하는 스크립트 추가 4. SSH 접속을 한 뒤 방화벽 활성화sudo ufw allow 22sudo ufw enable  🍍 Snapshot 사용 비용청구서를 보면 알다시피 무료가 아니니까 참고하기~

DevOps/AWS 2024.04.22

[Jenkins] CI

1. Jenkins 관리 > Plugins > Available plugins에서 GitLab을 검색해서 설치  2. Jenkins 관리 > System에 GitLab 설정발급받은 GitLab API token을 넣는다.Credentials를 추가 후 목록에서 선택까지 해줘야 한다.Test connection이 success로 뜨면 성공이다.  3. Jenkins 관리 > Credentials에 GitLab 아이디, 비밀번호 등록Username: GitLab 아이디Password: GitLab 비밀번호ID: 스크립트 작성할 때 credentialsId  4. Pipeline 스크립트 작성입력한 레포지토리의 develop-music 브랜치에서 credentailsId로 등록된 정보를 이용하여 클론 받기ro..

DevOps/Jenkins 2024.04.21

젠킨스 설치

🥨 Jenkins를 Ubuntu에 설치 시스템에 키를 추가 주간 릴리스 라인용 설치 및 업그레이드를 자동화하는 Jenkins의 데비안 패키지 저장소 sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \ https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key Jenkins apt repository entry 추가 echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ https://pkg.jenkins.io/debian-stable binary/ | sudo tee \ /etc/apt/sources.list.d/jenkins.list > /dev/null J..

DevOps/Jenkins 2024.04.19

[Kubernetes] 컨테이너 생성

컨테이너 생성1. 폴더 생성 및 이동mkdir test-imagecd test-image  2. 간단한 sh 파일 작성cat > start.sh   3. Dockerfile 생성cat > Dockerfile   4. 실행권한chmod +x start.sh  5. 이미지 생성gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/test-image . 이미지를 빌드했는데 docker images로 조회했을 때 안 뜨는 이유는 CloudBuild가 Docker build를 했기 때문이다.Artifact Registry에 gcr.io에 들어가면,생성된 test-image 도커 이미지를 볼 수 있다.  6. Deployment 생성export my_zone=us-..

DevOps/Kubernetes 2024.04.18