IT 31

LVM을 사용하여 CentOS8에 파일시스템을 추가하고 삭제하기.

** VMware Player를 통해 배포한 리눅스상에서 진행하였고 물리디스크는 이미 추가한 상태로 가정하고 진행합니다. 기존 [swap, boot, /] 파일시스템용 40G 디스크 외에 2G 디스크 한개를 붙여놓은 상태.  1. lsblk 명령어를 통한 현 디스크 상태 확인[root@server ~]# lsblk NAME              MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0                11:0    1   1G  0 rom  /run/media/root/CentOS-Stream-8-BaseOS-x86_64 nvme0n1           259:0    0  40G  0 disk  ├─nvme0n1p1       259:1    0   1G  0 ..

IT/Linux 2024.04.27

GCP 콘솔에서 Disk 크기를 확장 한 뒤, LVM을 사용하여 리눅스 볼륨 확장 할당하기.

업무 중 Nexus 서버의 디스크 용량을 확장 해야 할 일이 생겼습니다. 당연한 이야기지만 클라우드 환경에서 디스크 용량을 수정한다고 VM의 OS에 그게 바로 반영 되지는 않습니다. 따라서 웹콘솔이던 IaC 환경이던 클라우드 상의 디스크 용량을 수정 한 뒤 VM에 접속해서 LVM을 통해 디스크 용량을 확장 해 줘야 합니다. 여기서는 GCP와 리눅스(우분투20.04) 환경 기준으로 설명 하겠습니다. 해당하는 VM에 접속해서 아래 명령어들로 작업을 진행 합니다.(sudo 권한이 있는 계정으로 진행해야 합니다.) $ sudo fdisk -l # 정상적으로 확장된 용량이 인식되고 있는지 확인 ~~~~~~~ Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 secto..

IT/Linux 2022.10.04

Gitlab 설치 시 timezone 설정 및 불필요한 구성 요소 제외하기.

Default 설정으로 gitlab 설치시 timezone은 기본적으로 UTC로 되어 있고, 불필요한 구성요소 까지 함께 설치되는 경우가 있는데 이를 변경 하는 방법을 설명 하는 포스팅 입니다. 먼저 Timezone을 바꾸기 위해 gitlab_rails 항목의 주석을 해제하고 UTC를 Asia/Seoul로 바꿔 줍니다. 저는 prometheus 부분이 필요 없기 때문이 이부분의 주석을 해제하고 false로 처리 하겠습니다. Prometheus Alertmanager 부분도 마찬가지로 false로 처리 하겠습니다. 마찬가지로 필요 없는 exporter 부분들 비활성화 grafana도 필요 없기 때문에 비활성화 이후 $ sudo gitlab-ctl reconfigure 명령어를 사용 하여 gitlab을 재기..

IT/CICD 2022.09.29

Gitlab, Jenkins, Sonarqube, Nexus, Helm 을 이용한 CI/CD 파이프라인 구성.(아직 작성중인 글)

Gitlab, Jenkins, Sonarqube, Nexus, Helm 을 이용한 CI/CD 파이프라인 구성에 대한 내용을 간단하게 작성 해 보려고 합니다. Gitlab - 애플리케이션 소스, Jenkins 설정 파일, Helm 차트 레포지토리 역할 Jenkins - 빌드, 빌드 및 배포 제어 역할 Sonarqube - 소스 취약점 분석 역할 Nexus - 각종 라이브러리 및 이미지 저장소 Helm - 배포 파이프라인의 마지막 단계로 배포 및 쿠버네티스 차트 관리의 편리성을 위해 도입 만약 실제로 배포할 App이 1개 라면 Gitlab에는 총 1+2개의 프로젝트가 생겨야 합니다. 첫번째 : 실제 배포할 App 소스 코드 프로젝트 (ex : Spring 기반 자바 어플리케이션) 두번째 : Jenkins P..

IT/CICD 2022.08.12

[GCP] GCP의 NAS인 Filestore를 이용하여 PV 생성하기.(아직 작성중인 글)

GCP환경의 Kubernetes Engine에서 외부 볼륨으로 gcePersistentDisk(이하 gcePD)를 사용하고 있었는데. 이 볼륨은 ReadWriteOnce(RWO) 만 지원하고 ReadWriteMany(RWM)를 지원하지 않는 문제점이 있다.(즉, 여러 노드에서 접근이 불가능하다.) 거기에다가 Kubernetes 1.17 버전부터 Deprecated 된 방법이라 새로운 볼륨을 사용하여 PV를 만들어야 하는데 GCP에서 제공하는 관리형 NAS인 Filestore를 사용 해 보기로 했다. GCP Filestore 메뉴에 들어가서 CREATE INSTANCE를 클릭한다. 각종 설정들을 알맞게 입력하고 NFS 볼륨을 만들어 줍니다. 그런데 Create 버튼을 클릭하자 위와 같은 에러메시지가 나오며..

IT/GCP 2022.08.09

[Linux] 리눅스에서 유저 생성 후 bash shell에서 사용자@호스트가 보이지 않을 때.

CentOS 7 에서 개발자들을 위한 계정을 생성 하던 중 bash shell이 이상하게 작동하는 모습을 발견했는데 아래와 같다. 계정을 생성 한 뒤 접속을 해보면 bash shell 앞에 계정정보가 정상적으로 표시되지도 않으며 bash profile도 없는지 디렉토리 색들도 하얗게 나오는것을 확인. 계정을 생성할 때 보였던 Not copying any file from skel directory into it. 문구에 주목했다. 해결법은 간단했다. 기존 skel 디렉토리 아래에 있는 파일들을 새로 생성한 유저의 홈디렉토리로 복사 해 오면 되는것! 정상적으로 작동하는 것 확인.

IT/Linux 2022.07.20

[Kubernetes] GKE 클러스터에 GCE-PersistentDisk 생성하고 Pod에 Mount 하기.

Kubernetes 클러스터에서 다수의 Micro Service가 사용할 Disk(Volume)이 필요 한 상황이 생겼다. GCP에서 제공하는 관리형 NAS 서비스인 Cloud Filestore를 사용 하려 했으나 300GB 정도의 용량만 필요 한 상황에서 Filestore는 HDD 기본 시작용량이 1TB, SSD는 2.5TB에 비용도 꽤나 비싸서 사용을 보류 하였고, 200GB 표준 영구 디스크 기준으로 한달에 $8.00 만 청구된다고 하는 GCE-PD 서비스를 사용 해 보기로 했다. Cloud SDK가 설치되어 있는 클라이언트에서 아래 명령어를 실행 시킨다. $ gcloud compute disks create --size=300GB --type=pd-standard --zone={ZONE} {DIS..

IT/Kubernetes 2022.07.13