Gentoo Linux에서 F-Stack 빌드시 igb_uio.ko 모듈이 없다고 나오는 경우는 Linux Kernel에서 Userspace I/O drivers를 활성화하고 재빌드하면 해결 됨. – 관련 로그 Generating kernel/linux/igb_uio/igb_uio with a custom command FAILED: kernel/linux/igb_uio/igb_uio.ko /usr/bin/make -C /lib/modules/6.7.0-gentoo/build M=/data/f-stack/dpdk/build/kernel/linux/igb_uio src=/data/f-stack/dpdk/kernel/linux/igb_uio EXTRA_CFLAGS=-I/data/f-stack/dpdk/kernel/linux/igb_uio/../../../lib/librte_eal/include modules make: Entering directory ‘/usr/src/linux-6.7.0-gentoo’ MODPOST /data/f-stack/dpdk/build/kernel/linux/igb_uio/Module.symvers ERROR: modpost: “__uio_register_device” undefined! ERROR: modpost: “uio_unregister_device” undefined! ERROR: modpost: “uio_event_notify” undefined! make: *** Error 1 make: *** Error 2 make: *** Error 2 make: Leaving directory ‘/usr/src/linux-6.7.0-gentoo’ Compiling C object app/test/dpdk-test.p/test_ring.c.o ninja: build stopped: subcommand failed. – 해결 방법 1. 커널 컴파일 1.1. Userspace I/O drivers 활성화 Linux Kernel 6.7+ 버전에서 진행 하였음.
RockyLinux 9 버전에서 HAProxy+QUIC 조합을 사용하여 구성하는 방법에 대해서 설명한다. 1. HAProxy란? HAProxy는 C 언어로 개발된 TCP 및 HTTP 기반 애플리케이션을 위해 고가용성 로드밸런서와 리버스 프록시를 제공하는 오픈소스 소프트웨어다. TCP 및 HTTP 애플리케이션을 로드 밸런싱하고 고가용성을 제공하는데 주로 사용되며 로드밸런싱은 여러 서버 사이에 트래픽을 분산하여 서버의 성능을 향상시키고 가용성을 높이는 기술이다. 여러 서버로 들어오는 요청을 분산하여 부하를 공정하게 분배하고, 각 서버의 상태를 모니터링하며 문제가 있는 서버를 제외시킴으로써 신뢰성을 높일수 있다. 또한, 프록시 서버로 사용될 수 있어 클라이언트와 서버 간의 통신을 중개하는 역할을 수행할 수 있어서, 보안, 로깅, SSL 종단 감시 등 다양한 기능을 제공할 수 있다. 높은 성능과 안정성,
본 이슈는 내부 레지스트리인 image-registry의 Operator 상태가 Degraded로 발생하는 이슈이다. 해당 버그 리포트를 살펴보면 OCP v4.4 버전에서도 발생했던 사항으로, 이슈가 발생하는 시점은 image-registry operator의 managementState를 Removed 상태에서 pruner job이 생성이 될때까지 기다리면 발생한다. (현재 OCP v4.6은 managementState는 Removed가 기본) 1. 이슈 # oc describe clusteroperators image-registry | grep ‘ImagePrunerDegraded’ Message: ImagePrunerDegraded: Job has reached the specified backoff limit 2. 원인 image-registry에 사용할 수 있는 스토리지가 없을때 발생한다. 즉, managementState가 Removed 상태인 경우에는 operator가 image-registry pod를 생성하지 않아도, Image Pruner가 cronjob을 생성하고 이를 수행하는 부분에서 발생하는 것으로 이해 한다. 3. 해결 3.1. Image Pruner 상태 변경 suspend를 false에서 true로 변경 해준다.
OpenShift v4.x 버전부터는 클라우드 환경에서 좀 더 유연하게 관리가 될 수 있도록, OTA(Over The Air) 업그레이드 방식을 사용한다. OTA 방식은 스마트폰 업데이트 방식을 생각하면 쉽게 이해가 가능하다. 즉, 사용중인 제품에서 제공하는 업데이트 기능을 통해 외부 업데이트 서버에 주기적으로 요청하여, 최신의 정보를 받아오면서, 해당 제품의 새로운 버전이나 특정 버전에 대한 취약점 또는 개선사항 등이 있을 경우, 사용자 동의를 얻어 업데이트를 진행 하는 방식이다. RedHat에서는 Public Cloud 환경을 고려해 OTA 업데이트 방식을 채택한 것으로 보고있다. 하지만, 기업 고객들은 자신들의 데이터를 외부에 저장하는 부분에 대해서 상당히 민감하기 때문에, Public Cloud 환경보다는 Private Cloud를 구성하여 사용하는게 대부분이다. 그래서, Private Cloud 환경에서는 고객사 정책에 따라,
CentOS 7 버전에서 Podman을 설치시 낮은 버전의 1.6.x이 설치 된다.해당 버전에서는 Container에 sysctl을 사용할 수 없으므로, v4.x 버전으로 업그레이드를 진행 한다. 결과적으로는 이짓을 할 바에는 상위 버전으로 업그레이드를 고려하는 것이 정신 건강상 좋다. 1. Podman 버전 확인$ podman versionVersion: 1.6.4RemoteAPI Version: 1Go Version: go1.12.12OS/Arch: linux/amd64 2. Podman 삭제기존의 RPM으로 설치 된 Podman을 삭제 한다.$ yum remove -y podman 3. EPEL 저장소 추가Development tools을 설치를 위한 EPEL(Extra Packages for Enterprise Linux) 저장소를 추가한다.$ yum install -y epel-releaseor$ yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 4. 필요 패키지 설치$ yum install -y “@Development Tools”$ yum install -y curl gcc make device-mapper-devel git btrfs-progs-devel conmon containernetworking-plugins