Linux

Ubuntu에서 tensorflow를 build하는 방법을 정리한다.

 

1. 필요 패키지 설치

# apt-get install -y wget ca-certificates git lsb-release software-properties-common gnupg

 

2. bazelisk와 LLVM/Clang을 설치

# wget https://github.com/bazelbuild/bazelisk/releases/download/v1.19.0/bazelisk-linux-amd64 -O /usr/local/bin/bazel
# chmod +x /usr/local/bin/bazel

# wget https://apt.llvm.org/llvm.sh
# chmod +x llvm.sh
# ./llvm.sh 16

 

Postgresql에 Audit 로깅을 추가하는 방법을 아래와 같이 정리합니다.
로깅은 Syslog 방식으로 출력되도록 구성되도록 설정했습니다.

1. pgaudit 패키지 설치

apt install postgresql-12-pgaudit

 

2. postgresql.conf 설정 파일에 로깅 추가 (/etc/postgresql/12/main/postgresql.conf)

최근 nginx의 컴파일 방식이 변경되어 변경된 방식에 대한 컴파일 방법을 정리
nginx 1.25.2 소스 버전을 대상으로 정리

1. nginx 소스 다운로드

# cd /root
# wget https://github.com/nginx/nginx/archive/refs/tags/release-1.25.2.tar.gz
# tar xvzf release-1.25.2.tar.gz

 

2. header more module 추가를 위한 다운로드

# cd /root
# git clone https://github.com/openresty/headers-more-nginx-module.git

 

3. 컴파일 시, 필요한 개발 라이브러리 패키지 설치

Ubuntu에서 아래 명령어를 실행해서 virt 구동 환경을 구성 후, Windows 11을 구성했다.

# apt install virt-manager

 

Windows 11 하드웨어 의존성 무시하고 설치하기 - 정품 ISO 사용
위 가이드로 설치하면 TPM 의존성을 무시하고 Windows 11 설치도 가능하다.

문제는 virt-manager를 통한 console로는 copy &. paste가 지원되지 않는다는 것이다.

아래 spice guest tools를 Windows 11에 설치해준다.

VirtualBox, VIR, On-Primise에서 Kubernetes를 설치할 경우 Loadbalancer가 문제가된다.
서비스를 오픈해야하는데, nodeport를 오픈하기에는 부담스럽다.
이럴 때 대체안으로 MetalLB로 대안으로 설치할 수 있다.

MetalLB는 현재 최신 버전은 v0.13.3을 기준으로 설치한다
  - https://metallb.universe.tf/installation/

 

1. metaLB 설치 전 kube-proxy 설정 변경

아래 내용과 같이 "strictARP: false"를 "strictARP: true"로 변경한다.

kubernetes가 설치되는 시스템들은 아래와 같은 설정이 필요하다.

1. swap 사용하지 않도록 구성
2. br_netfilter 모듈 활성화
3. bridge-nf-call-iptables, ip_forward 활성화
4. 시스템에 kubernetes repo 등록
5. containerd 설치
6. kubernetes 관련 프로그램 설치

Swap 비활성화
 

 - swapoff 명령어로 기존 설정된 swap 해제

Kubernetes  구성 환경 정리

Control plane
  - OS : ubuntu 20.04
  - hostname : ubuntu2004-001
  - IP : 192.168.122.11

Node 1
  - OS : ubuntu 20.04
  - hostname : ubuntu2004-002
  - IP : 192.168.122.12

Node 2
  - OS : ubuntu 20.04
  - hostname : ubuntu2004-003
  - IP : 192.168.122.13

Node 3
  - OS : ubuntu 20.04
  - hostname : ubuntu2004-004
  - IP : 192.168.122.14

ubuntu 20.04 live server용 이미지 다운로드

# wget https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-live-server-amd64.iso

해당 이미지의 파일로 다운 받는다. 그렇지 않으면 cloud-init이 동작하지 않을 수 있다.

 

iso 파일의 내부 파일을 디렉토리로 복사

# mkdir iso-mount
# mkdir iso-files

# mount ubuntu-20.04.4-live-server-amd64.iso iso-mount
# rsync -rtlv iso-mount/ iso-files/

 

iso를 재구성하기 위한 패키지 설치

apt install -y p7zip-full xorriso isolinux

 

 

iso-files 디렉토리의 파일을 신규 iso로 만드는 방법

ubuntu의 ISO를 디스크에 저장해서 grub로 부팅해보면 ISO 파일이 위치한 디스크를 재구성이 불가능하게
비활성화가 된다.

이런 경우 설치 메뉴에서 console로 전환하여 아래와 같이 명령어를 실행해서 /iosdevice를 umount하면 ISO
파일이 위치한 디스크 재구성이 가능하다.

# umount -f -l /isodevice

 

만약 grub -> 디스크 -> ISO-> cloud-init로 시스템을 구성한다면 아래와 같이 "early-commands"를 통해서
umount를 구현할 수 있다.