kubernetes에 ingress-nginx로 Ingress를 구성하고 서비스 구성하기

지금까지 구축된 kubernetes에서 ingress-nginx를 설치하고 "Deployment, Service, HorizontalPodAutoscaler"로 구성된 앱을 배포하고
ingress를 구성 후, 최종 서비스 형태를 만드는것을 목표로 한다.

ingress-nginx를 구축하여 서비스하는 구성도

서비스용 앱 배포

모든 요청에 응답하는 echo server를 앱으로 아래와 같은 파일로 구성해서 배포한다.

echo-server-dpm.yaml - Deployment

kubernetes에 metrics-server 구성 및 deep dive

kubernetes에 HorizontalPodAutoscaler가 동작하기 위해서는 기본적으로 metrics-server가 설치되어야 동작한다.
내부 동작 방식을 깊이 이해하기 위해서 구성 및 deep dive로 정리한다.

helm을 이용해서 배포를 진행할 예정이나 template를 구성해서 배포하는 방식으로 진행할 예정이다.

 

Helm Repo 등록

아래와 같이 metrics-server의 repo를 동록한다.

kubernetes에 MetalLB를 Layer 2 모드로 구성하기

MetalLB 설치 요구 사항

스터디용으로 MetalLB를 Layer 2 mode로 구성하기 위해서는 Kubernetes가 ipvs mode로 설치되어 있어야한다.
만약 kubespray로 kubernetes를 구성했다면 ipvs mode로 설치되어 있다. 아래 명령어로 어떻게 설치되어 있는지 확인해본다.

# kubectl get configmaps -n kube-system kube-proxy -o yaml |grep mode
    mode: ipvs

 

MetalLB 설치 준비

MetalLB를 설치하려면, 우선 strictARPtrue로 설정되어 있어야한다.

kubespray로 kubernetes 설치하기

하드웨어 준비 사항

virt-manager로 아래와 같은 시스템 5개를 만든다.

  • ubuntu22.04-71 / ubuntu 22.04 LTS / 192.168.122.71 / ssh 키 등록 / control plan
  • ubuntu22.04-72 / ubuntu 22.04 LTS / 192.168.122.72 / ssh 키 등록 / node1
  • ubuntu22.04-73 / ubuntu 22.04 LTS / 192.168.122.73 / ssh 키 등록 / node2
  • ubuntu22.04-74 / ubuntu 22.04 LTS / 192.168.122.74 / ssh 키 등록 / node3
  • ubuntu22.04-75 / ubuntu 22.04 LTS / 192.168.122.75 / ssh 키 등록 / node4

 

tensorflow ubuntu 22.04에서 build 하기

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

 

nginx 1.25.x 컴파일 방법 - ubuntu

최근 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. 컴파일 시, 필요한 개발 라이브러리 패키지 설치

VIRT(QEMU/KVM) 상에 실행되는 Windows 시스템에 Copy & Paste 기능 지원하기

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

# apt install virt-manager

 

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

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

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