본문 바로가기
반응형

분류 전체보기711

[linux] 채굴되던 서버 트러블 슈팅(프로세스 kill 안됨) 목차 시연용으로 vm을 외부에 열어 놓은 상태 였다. 증상 이상하게 별거 안올렸는데 웹서버가 버벅거렸다. 모니터링 해보니 cpu 가 500%, 600% 를 차지하고 있었다. 별로 사용도 안하여 한번 시연하고 vm을 전원끈 상태로 두었다. 원인 파악 그러다가 다시 시연한다고 하셔서 vm을 열었는데 똑같이 cpu 리소스를 500~600% 찍는 것이었다. 프로세스를 확인해보니 test 계정에서 .v12zx890d 이런 파일이 실행되고 있었다.(.을 파일명앞에 두어 숨김처리가 되어있다.) 구성만 내가 해줘서 어떻게 관리되는지 몰라 관계자 분들에게 문의해보니 모르신다고 하셨다. 그래서 우선 킬을 해보기로 했다. 그런데 킬을 하니 다른 파일이름으로 다시 실행이 되는것이었다. 여기서 부터 좀 뭔가 이상하다는 느낌을 .. 2024. 4. 18.
AWS EKS Loadbalancer controller 목차 EKS에 로드밸런서를 생성하면서 lb 서비스만 만들면 되는데 왜 컨트롤러를 생성하지? 라는 의문이든다. 로드밸런서 서비스만 있는경우와 컨트롤러가 있는경우 다음과 같은 차이가 있다. 로드 밸런서 서비스만 있는 경우: 사용자가 직접 로드 밸런서 리소스를 생성하고 관리해야 합니다. 로드 밸런서 리소스가 동적으로 생성되지 않으므로, 수동으로 관리되어야 합니다. 파드의 스케일링 및 상태 변경에 대한 자동 대응이 없으며, 사용자가 수동으로 로드 밸런서 리소스를 업데이트해야 합니다. 로드 밸런서 컨트롤러가 있는 경우: 로드 밸런서 컨트롤러는 사용자 대신에 로드 밸런서 리소스를 동적으로 생성하고 관리합니다. 파드의 생성, 삭제 또는 상태 변경과 같은 이벤트에 자동으로 반응하여 로드 밸런서 리소스를 조정합니다. 사.. 2024. 3. 26.
AWS EKS fargate profile 이란? 목차 AWS 에서 제공하는 fargate orchestration 도구 정의 Fargate Profile은 사용자가 기본 컴퓨팅 인프라를 관리할 필요 없이 컨테이너를 배포하고 관리할 수 있게 해주는 AWS의 새로운 기능입니다. Fargate Profile은 AWS의 컨테이너 오케스트레이션 엔진인 Amazon Elastic Container Service(Amazon ECS)를 활용하여 컨테이너 워크로드의 배포, 확장 및 관리를 자동화합니다. Fargate Profile을 사용하면 사용자는 컨테이너화된 애플리케이션을 위한 보안 환경을 신속하게 생성할 수 있으므로 기본 컴퓨팅 인프라를 관리하는 대신 애플리케이션 코드를 구축하고 배포하는 데 집중할 수 있습니다. 또한 Fargate Profile은 트래픽 패턴.. 2024. 3. 26.
업로드 에러 - 413 Payload Too Large 증상 레드마인에 파일을 업로드하는데 413 Payload Too Large라는 에러가 발생하였다. 원인 was 분석 우선 redmine의 용량 설정을 보았으나 이미 설정이 되어 있었다. 그리고 에러로그를 살펴보았는데 아무것도 나오지 않았다. bitnami redmine을 사용했는데 여기에 apache가 있길래 여기도 있어서 살펴보고 여기에 용량 설정하는 설정이 있어서 설정을 다음과 같이 하였다. LimitRequestLine 65536 LimitRequestBody 0 LimitRequestFieldSize 65536 LimitRequestFields 10000 그래도 같은 에러가 발생하였다. 개발자도구에서 413 Payload Too Large라는 에러를 발견하였다. 해당 에러는 서버에서 업로드 제한하.. 2024. 3. 18.
[kubernetes] CSI(pv, pvc) 에대해 , pvc가 필요한 이유가 무엇일까? 목차 docker를 사용할때 persist volume을 사용해본 경험이 있을것이다. 그런데 kubernets를 사용하게되면서 pvc라는게 생겼다 그러다보니 pv에 pod를 연결하면 되는데 왜 굳이 pvc 를 사용하는것일까? 라는 의문이 생겼다. pvc 를 사용하는 이유 MSA 구조를 적용하게 되면서 pod마다 격리되는 환경을 구성을 하게 된다. 그런데 기존의 docker에서는 하나의 서버내에서 스토리지를 공유하여 사용하는게 보통이다. 물론 외부 스토리지를 바인딩하여 사용하면 되겠지만 후술할 동적 프로비저닝이 없어서 가용성이 docker에서는 kubernetes에 비해 없다시피하다. 1. 추상화 PVC를 사용하면 개발자는 기본 인프라 세부 정보를 알 필요 없이 스토리지 리소스를 요청할 수 있으므로 애플리.. 2024. 3. 15.
[linux] ssh 실행시 start condition failed 에러 sudo service ssh start sudo systemctl status ssh ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: inactive (dead) Condition: start condition failed at Tue 2023-10-06 20:56:14 PDT; 8min ago └─ ConditionPathExists=!/etc/ssh/sshd_not_to_be_run was not met Docs: man:sshd(8) man:sshd_config(5) Oct 06 20:40:48 penguin.. 2024. 3. 12.
[linux] conntrack에 대해 알아보자(iptables) 서론 iptables를 화이트리스트로 설정했는데 외부와 통신이 되질 않는다. udp 및 tcp의 임시포트를 허용해 주면 되지만 다음과 같이 상태를 추적하여 허용해주면 간단하고 보안적으로도 좋은 방화벽을 구성할수가 있다. iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 그런데 저 상태가 어떤식으로 전송이 되는지 궁금하여 찾아보았다. conntrack 상태 NEW: 이 상태는 새로운 연결을 나타냅니다. 클라이언트가 서버에 접속하거나 새로운 연결을 요청하는 패킷은 이 상태로 분류됩니다. ESTABLISHED: 이 상태는 이미 설정된 연결을 나타냅니다. 한 번의 초기 연결 설정 이후에 데이터가 주고받아지는 연결은 ESTABLISHED.. 2024. 3. 11.
AWS 보안그룹(securitygroup)에서는 임시포트에 대한 설정을 안해도 통신이 될까? 목차 일반적인 http, https 통신방식 80포트로 통신하다고 하면 위 그림처럼 외부로 임시 포트로 나간뒤 호스트에서 80포트로 받고 임시포트로 보내고 클라이언트에서는 임시프트로 받는다. 그래서 iptables에서 화이트리스트 설정을 할때 outbound나 inbound에 임시포트인 49152~65535 를 열어 둔다. 그러다가 갑자기 AWS security group에서는 임시포트에 대한 설정을 하지 않는다는 기억이 났다.(ACL은 차단 가능함) 어떻게 되는거지? AWS security group의 보안방식 임시 포트에 대한 정책을 알고 싶어서 temp port라고 검색하는데 죽어도 안나왔습니다. 검색하다가 ephemeral ports 라고 치니까 바로 나오더군요 https://www.reddit... 2024. 3. 8.
[linux] top 명령어 활용법! 목차 top을 입력하면 다음과 같은 화면이 나옵니다. f 를 누르면 필드를 추가 및 수정 을 할수가 있다. (설명도 나오네요) 설정값 저장은 w를 하면 된다. 프로세스 상태 참고글 : Load Average에 관하여 SHR 옆에 있는 S 항목으로 볼 수 있음 D : Uninterruptiable sleep. 디스크 혹은 네트워크 I/O를 대기 R : 실행 중(CPU 자원을 소모) S : Sleeping 상태, 요청한 리소스를 즉시 사용 가능 T : Traced or Stopped. 보통의 시스템에서 자주 볼 수 없는 상태 Z : zombie. 부모 프로세스가 죽은 자식 프로세스 단축키 q: top 프로그램을 종료합니다. k: PID를 입력하고 엔터를 누르면 해당 PID에 대한 프로세스를 강제로 종료합니다.. 2024. 3. 5.
[Kubernetes] Service와 비교한 ingress Ingress에는Service에 비해 다음과 같은 장점을 가지고 있다. 단일 진입점 (Single Entry Point): Ingress를 사용하면 클러스터 외부에서 여러 서비스에 대한 액세스를 하나의 진입점을 통해 관리할 수 있습니다. 이는 외부에서 내부 서비스로의 접근을 허용하거나 필요에 따라 트래픽을 다른 서비스로 라우팅할 수 있도록 해줍니다. HTTP(S) 트래픽 관리: Ingress는 HTTP 및 HTTPS 트래픽을 관리하고 라우팅할 수 있습니다. 특정 경로에 따라 트래픽을 다른 서비스로 라우팅하거나, 호스트 헤더를 기반으로 다른 서비스로 리디렉션할 수 있습니다. SSL 종료 및 보안 기능: Ingress를 사용하면 SSL 종료 및 보안 관련 기능을 구성할 수 있습니다. 클러스터 외부에서 HTT.. 2024. 2. 29.
[AWS EKS fargate] coredns patch에러 - The request is invalid: the server rejected our request due to an error in our request terraform 이나 kubeclt로 aws eks fargate 생성 하기위하여 coredns 를 생성하여야 할때 annotation을 없애줘야한다고 한다. 권한이나 문법 오류인줄 알았다. 너무 이상해서 deployment를 확인해보았다. deployments에 삭제하려는 annotation이 없어서 삭제가 안됐던 모양 그런데 왜 pod는 실행이 되지 않을까 하는 생각이 있었는데 deployments를 한번 재실행 해보았다. kubectl rollout restart -n kube-system deployment coredns 이상하게 정상적으로 올라왔다. AWS에서 해당 에러를 수정하긴 했는데 버그인지 뭔진 몰라도 한번에 pod가 fargate로 올라가진 않는듯 하다. 물론 eksctl로는 굉장히 .. 2024. 2. 27.
[Docker] 다중 아키텍처 빌드를 위한 buildx buildx는 하나의 이미지로 다양한 아키텍처(arm,amd 같은) 를 사용할수 있게 빌드하는 방식 docker build: 기본적인 Docker 이미지 빌드 명령어입니다. 단일 아키텍처 이미지를 빌드하는 데 주로 사용됩니다. 기본적으로 로컬 Docker 엔진에 의해 실행됩니다. 다중 아키텍처를 지원하지 않습니다. docker buildx: Docker BuildKit을 사용하여 Docker 이미지를 빌드하는 확장된 도구입니다. 다중 아키텍처 이미지를 빌드하고 관리할 수 있습니다. 로컬 Docker 엔진 뿐만 아니라 원격 Docker 엔진 및 다른 빌드 환경과 통합할 수 있습니다. 다양한 빌드 환경과 통합하여 복잡한 빌드 프로세스를 관리할 수 있습니다. 참고 https://github.com/docker.. 2024. 2. 22.
반응형