본문 바로가기

Linux33

[Linux] cgroup, cpu https://medium.com/@7424069/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4%EA%B0%80-%EC%89%AC%EC%9B%8C%EC%A7%80%EB%8A%94-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%9D%B4%EC%95%BC%EA%B8%B0-cgroup-cpu%ED%8E%B8-c8f1e2208168 쿠버네티스가 쉬워지는 컨테이너 이야기 — cgroup, cpu편들어가며,medium.com 위 글을 읽고, 이해하고 싶어서 추가로 한 공부까지 남긴다.  # 먼저 개념부터1. cgroup이란? - control groups프로세스들을 그룹화하고, 그 그룹들의 시스템 리소스(cpu, mem, 네트워크 대역폭 등) 사용을 관.. 2024. 11. 4.
[AWS/EC2] Proxy Setup user_data (Linux, Windows) # Linux# linux.sh#!/bin/bashPROXY_URL="http://proxy.domain:3128"NO_PROXY="169.254.169.254,localhost,127.0.0.1,.svc.cluster.local,.amazonaws.com,172.16.0.0/12,10.0.0.0/8,192.168.0.0/16,.internal"echo "export http_proxy=$PROXY_URL" | tee -a /etc/profile.d/proxy.shecho "export https_proxy=$PROXY_URL" | tee -a /etc/profile.d/proxy.shecho "export no_proxy=$NO_PROXY" | tee -a /etc/profile.d/proxy.shso.. 2024. 7. 9.
[Github Action Runner] Self-Hosted Runner in Amazon Linux 2023 깃헙 액션 러너를 세팅하는 것은 매우 쉽다. 근데 amazon linux 2023 에서 진행하며, 공식 가이드에 있는것만으로는 부족해 남겨둔다. 먼저 토큰은 알아야 하므로... 깃헙 > Settings > Actions > Runners > New runner > New self-hosted runner 를 누른다. 그럼 이런 화면이 뜬다 이대로만 하면 중간에 Shasum command not found Libicu's dependencies is missing for Dotnet Core 6.0 라는 에러들을 보게 된다. 최종적으로는 아래와 같이만 하면 된다. (linux, x86 기준) mkdir actions-runner && cd actions-runner curl -o actions-runner.. 2023. 9. 17.
[Kubernetes] Graceful Shutdown - preStop 설정 # Graceful Shutdown이란? 현재 들어온 요청을 모두 수행하고 우아하게 종료한다 ... 는 개념 예를 들어, A deployment가 restart 된다고 할 때 pod B가 죽고 pod C가 새로 떠야한다고 가정해보자 service에서 pod B -> pod C 엔드포인트 변경을 해줘야 하는데, 이게 조금 늦을 수 있음 그러면 pod B는 종료되어야 하지만 여전히 pod B로 트래픽이 흘러들어갈 수 있음 -> pod B의 Application은 새로운 요청 수락만 먼저 중지하고, 모든 연결이 종료된 다음에 죽어야 함 또 다른 예시로, pod가 특정 DB와 connection을 맺고 있는 경우 해당 연결을 종료하고 죽어야 함 # Pod 종료 순서 사람 또는 시스템 : Pod 종료 API 발생.. 2023. 9. 15.
[MAC Terminal] ls 말고 exa 사용하기 ls 말고 exa 사용해야 하는 이유? 이쁘다. (이유 끝) ---- exa 는 inpa님 블로그 보고 알게 되었다. ls의 최신판이며, 색상/아이콘 표시 등의 기능 뿐 아니라 git도 통합되고 속도도 빠르다고 한다. 다만 인파님 블로그는 리눅스 기준이라, mac에서 사용하는 방법에 대해서 포스팅해보려고 한다. ---- # exa 설치 brew install exa brew로 쉽게 깔리며, 기본 ls 명령 옵션들과 호환된다. 근데 (가장 중요하다고 생각하는) 아이콘을 같이 보여주는 옵션 (--icons) 을 넣으면 깨진다 nerd font 시리즈 중 하나를 받아야 한다 # 폰트 설치 brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font.. 2023. 7. 15.
[Docker] CentOS 기반 리눅스 Docker 관련 초기 세팅 # docker yum install -y docker systemctl start docker chkconfig docker on # docker-compose curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 2023. 5. 21.
[Linux] RADIUS Server 구축해서 AWS Directory Server에 연동하기 (LinOTP, FreeRADIUS) Reference https://aws.amazon.com/ko/blogs/desktop-and-application-streaming/integrating-freeradius-mfa-with-amazon-workspaces/ https://cloudest.tistory.com/52 목표 Prerequisites Directory Service의 Directory 하나와 그 안의 WorkSpace (이전 글에서 만든 honglab.com Directory 사용) Directory가 있는 VPC와 통신이 되는 Amazon Linux Server Linux Server Directory 간 UDP 1812 Port 보안그룹 Open (Directory의 보안그룹은 outbound가 다 안열려있기 때문에 같은.. 2021. 8. 29.
[Linux] Squid로 HTTP Proxy 구성해서 Outbound Domain 제어하기 Reference https://cloudest.oopy.io/posting/051 https://err-bzz.oopy.io/f5616e26-79ca-4167-b2eb-140de69b9b54 (PROXY에 대한 설명 참조) 목표 Window Client의 웹에서 특정 도메인으로만 접속할 수 있게 제어하고 싶음 ✔ 위 구조의 WorkSpace와 AWS Console URL은 이전 글에서 만든 리소스들임 ✔ WorkSpace가 아닌 Window EC2로 실습해도 무관하며, 접속하고자 하는 URL도 본인이 원하는 URL로 사용 그리고 이는 Squid 라는 오픈소스 소프트웨어 프록시 서버를 통해 구현할 수 있다 ※ Squid Proxy Server는 Workspaces가 존재하는 VPC 대역으로부터 TCP 3.. 2021. 8. 28.
[AWS] Linux EC2 기본 User Name 정리 Amazon Linux, SUSE, RHEL : ec2-user Ubuntu : ubuntu CentOS : centos Fedora : fedora Debian : admin https://err-bzz.oopy.io/75f5dda3-e698-45fb-9256-ada1cb77603a [요약] Linux EC2 기본 User Name Amazon Linux, SUSE, RHEL : ec2-user err-bzz.oopy.io 2021. 7. 20.
[AWS] EBS NVMe 볼륨 UUID 재설정 문제 상황 AWS의 옛날 세대 인스턴스들(t2 등)은 EBS가 /dev/xvd* 형식으로 붙지만, 현재 세대 인스턴스들은 /dev/nvme*n1 형식으로 붙게 된다 xvd* 형식은 EBS 생성 시 부여하는 디바이스 이름에 맞게 순서가 새겨지므로, 마운트 시 디바이스 이름으로 매핑해줄 수 있다 그러나 nvme 형식은 순서가 제멋대로인데다가, 재부팅할때마다 순서가 바뀌므로 UUID를 가지고 마운트를 해줘야 한다 이 때 UUID는 네트워크 상에서 고유성을 보장하기 위한 범용고유식별자인데, 이미 UUID가 생성된 볼륨을 스냅샷을 뜨게 되면 해당 UUID 또한 그대로 가져가게 된다 (아래 그림 참조) 마찬가지로 같은 AMI로 시작한 EC2들의 루트볼륨 UUID는 모두 다 같다 -> 특정 루트 볼륨 내용을 확인하려.. 2021. 7. 13.
[AWS] goofys로 Linux에 AWS S3 마운트 https://github.com/kahing/goofys kahing/goofys a high-performance, POSIX-ish Amazon S3 file system written in Go - kahing/goofys github.com * AWS 자격 증명은 알아서... (aws confiugure 또는 IAM role) ** AWS EC2에서 진행 Amazon Linux 2 mkdir [마운트할 경로] yum install -y fuse wget https://github.com/kahing/goofys/releases/latest/download/goofys chmod +x goofys ./goofys [마운트할 경로] [S3버킷 이름] CentOS 7 mkdir [마운트할 경로] yu.. 2021. 7. 13.
[AWS] CloudEndure Installer 삭제 출처 : https://docs.cloudendure.com/Content/Installing_the_CloudEndure_Agents/Uninstalling_the_Agents/Uninstalling_the_Agents.htm 윈도우 64bit cd C:\Program Files (x86)\CloudEndure\dist install_agent_windows.exe --remove 윈도우 32bit cd C:\Program Files\CloudEndure\dist install_agent_windows.exe --remove Linux /var/lib/cloudendure/stopAgent.sh /var/lib/cloudendure/install_agent --remove 2021. 6. 8.
[AWS] CloudEndure Agent 설치 실패 시 확인 사항 (Linux) ※ 이 글은 공식 문서들을 정리한 글 입니다 Error_Installation_Failed Agent_Installation_Requirements ※ 아래의 내용들이 꼭 충족되어야 Agent 설치가 가능한건 아닙니다 (설치 실패 시에만 확인) ※ /root/cloudendure.log 파일을 먼저 확인하세요 설치를 진행하는 과정 중 Downloading 단계에서 실패한다면 네트워크 문제일 가능성이 큽니다 하지만 Installing 과정에서 실패하면서 아래와 같은 에러 메세지가 뜬다면, 본문의 내용들을 참고해보세요 Installation was not finished successfully. Please contact CloudEndure support at https://bit.ly/2T54hSc fo.. 2021. 5. 10.
[Linux] crontab 기초 & 스크립트 작성 팁 crontab 기본 옵션 -e : crontab 편집기 실행 (vi처럼 사용) -l : 현재 crontab 내용 확인 -r : 현재 crontab 삭제 crontab 작성 방법 [분(0-59)] [시간(0-23)] [일(1-31)] [월(1-12)] [요일(0-7)] [실행할 명령] 요일 : 1(월)-6(토) / 0과 7은 다 일요일 특수기호 * : 모든 값 (매일, 매시, 매분 등) - : 범위 지정 , : 여러 값 지정 / : 증분값 작성 예시 # 매분 명령 실행 * * * * * [명령] # 매일 0시 00분에 실행 0 0 * * * [명령] # 매주 월요일 0시 00분에 실행 0 0 * * 1 [명령] # 매일 0시, 12시에 실행 0 0,12 * * * [명령] # 매주 평일 8시에 실행 0 8.. 2021. 4. 29.
[HA] Fencing과 SBD Fencing에 대해선 Pacemaker와 관련된 개념들 글에서도 적은 적 있지만 좀 더 자세히 알아보겠다 Fencing이란 오류가 발생한 호스트(노드)나 리소스를 비활성화시키는 기능 Fencing을 해야 공유 데이터의 무결성을 보장받을 수 있다 STONITH(Shoot The Other Node In The Head)는 Pacemaker의 Fencing 기능 이름이지만, 거의 같은 의미로 쓰이는 것 같다 Fencing을 위해선 Fencing Agent를 두는 방법과 별도의 iSCSI Server에 SBD Device를 구성하는 방법이 있는데, SBD Device를 사용하는 것이 Failover 시간을 더 단축시킬 수 있다고 한다 더보기 [iSCSI #1] iSCSI 개념, 구조 정리 [iSCSI #2].. 2021. 4. 16.