728x90
반응형

분류 전체보기 126

remote server 패스워드 입력 없이 sudo command 사용(shell에서 사용하기)

원격 서버에 명령어를 사용하는 방법은 ssh 통해 접속 후 명령어를 치거나 ssh {hostname}@{password} "command"를 사용하는 방법이 있다. 하지만 해당 방법을 사용하여 명령어를 쓰면 password를 직접 입력해줘야 해서 shell에서 사용하기 어렵다. 이런 경우 해결 방법이 있다. 1. sudo 명령어가 아닌 경우 sshpass를 사용하면 패스워드를 미리 입력해서 원격 서버 command를 날릴 수 있다. (sudo apt-get install sshpass 명령어를 치면 설치가 가능하다) sshpass -p {password} ssh -t {hostname}@{server_ip} "ls" 2. sudo 명령어가 필요한 경우 이 경우는 sshpass + sudo -S 옵션을 사..

Linux 2023.08.17

kubernetes pod 기동 시 오류(networkPlugin cni failed to teardown pod)

kubernetes 설치 후 pod를 기동하면 아래 오류가 발생하는 경우가 있다. network for pod "coredns-74ff55c5b-prb74": networkPlugin cni failed to set up pod "coredns-74ff55c5b-prb74_kube-system" network: error getting ClusterInformation: Get "https://[10.96.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default": x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" ..

Kubernetes 2023.08.16

인스턴스 축소 보호 정책

축소 보호 정책은 말 그대로 AutoScaling 그룹에서 워커 노드 용량을 줄일 때 축소를 보호해 주는 기능을 말한다. 축소 보호 설정 하는 방법 Autoscaling 그룹 > 인스턴스 관리 축소 보호 설정할 노드를 선택 후 축소 보호 설정을 세팅 축소 보호 설정을 세팅하면 오른쪽에 "축소"라는 정책이 생성된다. 축소 보호 정책 테스트 노드 인스턴스 용량을 0으로 줄인다. 하지만 축소 보호 설정이 되어있는 노드는 축소되지 않는다. 해당 노드를 종료 시 키리면 축소 보호 제거를 하면 된다.

AWS 2023.08.10

kubernetes 인증서 갱신하는 방법

어느 날 갑자기 kubectl 명령어를 사용했는데 아래 오류가 발생했다. error: You must be logged in to the server (Unauthorized) 만약 작업한 게 없다면 인증서 유효기간 1년이 지났을 가능성이 크다. 먼저 인증서 유효기간을 확인한다. kubeadm certs check-expiration 추가적으로 해당 경로 (/etc/kubernetes/pki) 인증서를 확인해 보면 아마 유효기간 1년이 지났을 것이다. 이런 경우 마스터 노드에서 인증서를 갱신해 주면 된다. kubeadm certs renew all 명령어 실행 후 해당 경로(/etc/kubernetes)에 바뀐 conf파일 확인 admin.conf 파일을 ~/.kube/config로 복사한뒤 kubect..

CloudWatch Alarm telegram 연동

- 필요조건 : Cloud Watch, SNS , Lambda - CloudWatch : 경보생성 및 SNS 주제 연결 - SNS : 주제 생성 + Lambda endpoint로 구독 생성 - Lambda : telegram Alarm 전송 함수 생성 1.Lambda 함수 생성 함수 생성 시 만드는 함수 ARN키를 갖고 SNS 주제에 구독을 추가하면 된다. -코드 소스는 각자 상황에 맞게 개발하면 됨. 2.SNS 주제 생성 및 구독 추가 주제 생성 후 구독 생성할 때(앤드 포인트는 Lambda 생성 시 나온 값 세팅) 3.Cloudwatch에서 경보 생성 후 SNS 주제연결 경보 테스트 및 확인

AWS 2023.08.07

Docker commit 사용하기

docker container 작업 시 현재 상태를 commit 하는 기능이 있다. 1. 복제할 container 명칭 확인 sudo docker ps -a | grep {container 명칭} 2. 현재 시점의 container 상태 commit sudo docker commit -p {container_id} {snapshot-name} 3. commit 으로 생성한 명칭 확인 sudo docker images 4. repository에 push docker push {REPOSITORY}:{tag} 이후 생성된 docker image를 통해서 k8s deploy를 만들어주면 commit 처리한 상태의 container로 테스트가 가능하다.

Docker 2023.07.31

pod <-> local 파일 업/다운로드

1. local -> pod 파일 업로드 kubectl cp {file_name} {pod_name}:{path} ex) kubectl cp fileupload.txt test-deployment-112121-sdfwe:/app/fileupload.txt 2. pod -> local 파일 다운로드 kubectl cp {pod_name}:{file-path} {local-path} ex) kubectl cp test-deployment-121212-dsfdfd:/app/fileupload.txt /home/user/fileupload.txt "tar: Removing leading `/' from member names" 문구가 뜨지만 해당 메시지는 에러가 아니고 알림 메시지다. 압축할 파일의 경로에서 t..

Kubernetes/pod 2023.07.27

Grafana Alert silences

Grafana Alert 세팅 후 Silences라는 기능이 있다. 해당 기능은 적용한 시간 동안 제외 시켜둔 알람만 발생시키지 않는 기능이다. 물론 Alert을 전송하진 않지만 Alert 기능은 정상작동 중이라 show state history 정보는 확인이 가능하다. 해당 기능을 추가하는 방법은 간단하다. 우선 Alerting > Silences를 선택하면 New silence라는 버튼이 보인다. 해당 버튼을 클릭하면 아래 이미지 화면이 나오고 Silences start and end => Alert을 받지 않을 시간 세팅 Mathcing tables => Alert을 받지 않을 instance 세팅 여기서 Matching tables를 적용을 시키려면 우선 세팅한 alert을 보면 아래 이미지처럼 ..

Grafana alert or 조건 사용

Grafana에서 Alert 설정하는 부분을 확인하고 싶다면 아래 링크를 확인하시길 바란다. https://babbeolicoding.tistory.com/27 Grafana Alert 설정하기-2(Alert 조건 설정) 1. Datasource 선택 및 Query 작성 Reduce -> 각 인스턴스 하나하나 개별로 검토 Math -> 각 인스턴스의 결과값으로 조건 확인 A => 쿼리 B => 쿼리에서 나오는 인스턴스 각각의 결과값 C => 각 인스턴스의 결 babbeolicoding.tistory.com 보통 Alert에서 or 조건문을 사용할 땐 마지막 조건문 Math 부분에 "$B > 0 || $C > 0" 이렇게 조건을 넣는다. 어느날 or 조건을 세팅하고 있었는데 자꾸 Math에서 조건문에 No..

728x90
반응형