목록기록 일기 (242)
오늘도 한 뼘 더

# 배경 로컬에서 서버를 ssh로 접근하고 일정 시간 입력이 없으면 다음 메시지가 뜨면서 연결이 끊기게 된다. 이 시간이 생각보다 짧아서 스크립트가 돌아가는 중 연결이 끊길까 엔터키를 몇 번 쳤던 경험이 있다. 이 시간을 늘리도록 해보자 $ client_loop: send disconnect: Broken pipe # connection 시간 늘리기 위와 같은 현상은 서버가 클라이언트가 살아있는지 확인을 하는데 응답이 없을 때 발생하기에 이 시간과 횟수를 늘리면 된다. SSH 설정 파일에 접근한다. $ sudo vi /etc/ssh/sshd_config 아래와 같이 설정값을 활성화 및 작성한다. 300초 * 3 = 900초 동안 클라이언트에게 응답을 요청한다. ClientAliveInterval 300 ..

# 배경 helm update를 통해서 백엔드 서비스 업데이트를 진행할 때 따로 설명에 대한 명령어를 넘기지 않으면 `helm history`를 통해서 내용을 확인할 때 Description에 Upgrade complete로 나온다. # Helm update에 설명 추가하기 --description 옵션을 사용한다. $ helm upgrade [name] Chart.yaml -f file.yaml --description "deploy test" 위에 description이 제대로 적용됐는지는 history를 통해 가능하다 $ helm history [name]

# 배경 mysqldump를 사용할 때 특정 컬럼만 선택하는 방법은 없다. 특정 컬럼을 백업해서 넘기기 위해서는 temp 테이블을 만들어서 temp 테이블에 원하는 데이터를 삽입해서 temp 테이블을 덤프 해서 진행하도록 한다. # 스크립트 내용 https://github.com/baekji919/DevOps/tree/main/Data_Backup DevOps/Data_Backup at main · baekji919/DevOps Contribute to baekji919/DevOps development by creating an account on GitHub. github.com ## temp 테이블 생성 sql use database; INSERT into database.table SELECT c..

# 배경 처음 cluster를 서버에서 cli를 통해 생성하거나 기존의 cluster를 config에 업데이트할 때 context의 이름이 해당 클러스터의 arn으로 적히게 된다. context를 명시해서 kubectl 명령어를 작성할 때 다 작성할 수 없기때문에 원하는 이름으로 변경해서 사용하도록 한다. # kubeconfig context 이름 변경하기 ## context 조회하기 $ kubectl config get-contexts ## context 이름 변경하기 $ kubectl config rename-context [old_name] [new_name] ex) $ kubectl config rename-context arn:... test

# 배경 헬름 차트를 사용하여 올린 리소스들에 대해서 autoscaling 관련 값들을 수정하기 위해서 values.yaml 파일을 수정하고 helm upgrade 명령어를 사용하였는데 값이 적용되지 않는 것을 확인하였다. 처음에는 kubectl의 client와 server 버전이 맞지 않아 발생한 문제라고 생각을 하였으나 명령어 입력 과정에서 나온 실수로 인한 문제였다. # 문제 및 해결 방안 helm upgrade 명령어 작성 시 values.yaml도 같이 작성을 해줘야 하는데 Chart.yaml 경로만 명시를 하고 values.yaml을 따로 작성하지 않았다. 문제의 명령어 $ helm upgrade jihyun ../helm-chart/ --kube-context=test -n test 올바른 ..

# 배경 현재 회사에서 CI/CD 툴로 Jenkins를 사용 중이다. 최근 Jenkins가 올라가 있는 EC2서버의 스토리지가 차서 Jenkins에서 빌드, 배포가 제대로 동작하지 않는 문제가 발생했다. EC2 스토리지를 임시방편으로 늘리고 스토리지가 계속 늘어나는 원인을 찾다가 docker registry를 사용하는데 여기서 스토리지를 차지한다는 것을 알게 되었다. # 문제 /registy 볼륨에 쌓이는 데이터들이 지워지지 않아서 스토리지가 계속 차고 있었다. # 원인 및 해결 방법 ## 원인 도커 이미지는 여러 개의 태그를 가질 수 있고, 각 이미지는 고유한 다이제스트 값을 갖는다. registry에 같은 이미지로 계속 푸시하게 되면 registry의 이미지넌 여러 개의 다이제스트를 갖게 된다. 태그..

# 배경 현재 회사에서 사용하고 있는 Lambda 함수의 런타임은 node.js 14.X와 16.X인데 두 버전 모두 지원에 대한 종료가 되어 18.X로 버전을 업데이트하라는 이메일을 받았다. # 함수 업데이트 하기 ## 함수 런타임 변경 AWS Lambda > 함수 > 코드 탭 밑에 런타임 설정 편집 > 런타임 변경 >> 업데이트 진행 완료로 뜬다. ## 계층 생성 현재 회사에서 함수에 node axios를 계층으로 사용하고 있는데 이전에 사용하던 계층으로도 작동은 되었지만 버전을 같게 하면 좀 더 안정적일 것으로 생각하여 18.X 버전의 node.js 에서 axios를 설치하여 올리기로 하였다 밑의 단계는 linux 환경에서 진행하였다. 1. node js 설치하기 $ sudo apt update &..

1. 사용자 생성 $ sudo useradd [유저ID] -d /home 2. 사용자 패스워드 설정 $ sudo passwd [유저ID] 3. 사용자 정보 추가 설정 $ sudo vi /etc/passwd [유저ID]:x:1001:1001:,,,:/home/[유저ID]:/bin/bash ## 추가 내용 4. 홈 디렉터리 권한 추가 $ sudo chown -R [유저ID] /home/[유저ID] 5. ssh 로그인을 위한 설정 $ sudo vi /etc/ssh/sshd_config # 뒤의 내용으로 변경한다. PermitRootLogin no >>> PermitRootLogin yes PasswordAuthentication no >>> PasswordAuthentication yes # ssh 재시작 $..

# 배경 젠킨스 버전을 업데이트하고 나서 "free style project"로 만든 젠킨스 잡의 구성을 변경하고 저장하려고 하면 다음과 같은 에러가 발생하였다. JSONObject["scm"] is not a JSONObject # 원인 및 해결 방법 젠킨스 버전이 변경되고 나서 버전이 맞지 않아서 발생한 문제였다. 다음의 젠킨스 이슈 페이지를 보고 문제를 파악하게 되었다. https://issues.jenkins.io/browse/JENKINS-72202 Loading... Hello, After updating Jenkins from 2.425 to 2.426 I am not able to Save/Apply changes to jobs that use git as SCM. The error is ..

# 배경 git parameter 중 Tag 파라미터를 불러와서 쓰는 프로젝트들이 있었는데 Tag가 불러와지지 않는다. # 문제 Jenkins의 버전이 변경되었는데 이전에 되던 git tag 조회가 되지 않는다. # 원인 및 해결 방법 ## 원인 새로운 Jenkins의 버전과 기존에 사용하던 git parameter / git 플러그인의 버전이 맞지 않아서 생긴 문제였다. ## 해결 방법 Jenkins 플러그인 > git paramter | git 플러그인 버전 업데이트