본문 바로가기

개발 및 운영118

UEFI development with Go-lang tinygo 는 golang 으로 MCU 등 baremetal 펌웨어 개발을 가능하게 만들었습니다. 이런 가능성을 보고 UEFI Application 도 Go 로 만들 수 있지 않을까? 생각이 들어서 구현해봤습니다. 개발 브랜치 : https://github.com/jclab-joseph/tinygo/tree/feat/uefi WIP 중인 PR : https://github.com/tinygo-org/tinygo/pull/3996 기존의 EFI 개발에는 edk2 라는 프레임워크가 있지만 사용하기가 복잡하고 다양한 라이브러리를 효과적으로 사용하기에는 어려움이 있습니다. 한 예로 얼마 전에 HttpDxe 대신 curl 을 구현하려고 했는데 LibC 종속성을 추가하면 OpenSsl 이 빌드가 안되는 등.. 문.. 2023. 11. 14.
kubernetes sysctl bridge 설정 외에 추가적으로 해줄 것 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 fs.file-max = 131072 fs.file-max 가 나는 기본이 65536 이었는데 동작 중 "Too many open files" 이 발생할 때가 있었다. 때문에 이를 높일 필요가 있었다. 2023. 5. 24.
메일서버 (SMAP/IMAP) 종류 기존에 메일서버를 postfix + dovecot 을 사용했다. 그 외에 메일서버를 찾아보았다. SMTP Server postfix 언어 : C | 메모리 안정성 낮음 dovecot 를 통한 인증 지원 virtual domain/alias : sql 지원, socketmap 지원 haraka 언어 : Javascript | 메모리 안정성 O | 타입 안정성 X 플러그인 지원 커스텀 인증 지원 IMAP Server dovecot 언어 : C | 메모리 안정성 낮음 다양한 인증 지원 및 lua script 지원 wildduck 언어 : Javascript | 메모리 안정성 O | 타입 안정성 X 클러스터 : 지원 플러그인 지원 미숙함 커스텀 인증 지원하지 않음 완전체 솔루션 mailu 오픈소스 poste 유.. 2023. 2. 4.
Kubernetes 에서 Node 죽었을 때 PV가 있는 파드가 스케쥴링 되지 않는 현상 Kubernetes Cluster 에서 Node 가 예기치 않게 죽었을 때, Node Status 는 NotReady 상태가 되고, 해당 Node 에 물린 Pod 들은 일정 시간이 지난 이후 다른 노드로 Re-schedule 되어 자동적으로 복구 될 수 있다. 하지만 rook-ceph 을 통해 PV 가 물린 Pod 는 이야기가 달라진다. Node 가 그냥 죽은 상태는 큰 문제가 되지 않지만, Split-brain 이나 Node suspend 상태 등으로 인해 NotReady 가 되었지만 이후에 다시 살아나서 Volume Write 가 이루어지는 경우에는 다른 파드가 떠있다면 충돌이 일어나 Volume 이 손상되게 된다. 이러한 것을 막기 위해 Volume 이 Unmount 되지 않았다면 다른 Pod 에서.. 2022. 12. 27.
RKE2 의 API 서버 접속 방법 (왜 127.0.0.1:6443 인가?) Kubernetes 의 kubelet 은 kube-apiserver 랑 통신한다. 그래서 control plane 노드가 여러개 있으면 Domain 이나 VIP 를 만들어서 Load Balancer 를 통해 살아있는 Control Plane 노드로 연결할 수 있도록 구현해 주어야 한다. 하지만 RKE2 를 Elemental 으로 설치했는데 고민이 생겼다. 이러한 Load Balancer 를 설정할 수 있는 방법이 없었기 때문이다. (RKE2 를 그냥 설치하면 server address 를 설정할 수 있지만 elemental 과 rancher 로 프로비저닝하면 자동으로 지정된다) 그래서 만약 첫번째로 프로비저닝된 control plane 노드가 죽으면, 다른 노드들은 어떻게 통신하지? 라는 물음이었는데, .. 2022. 10. 26.
EJBCA-CE Docker with HSM on Kubernetes ejbca-ee can be integrated with HSM. > https://github.com/Keyfactor/ejbca-containers/blob/master/hsm-integration/hsm-drivers/hsm-driver-softhsm/Containerfile However, registry.primekey.com is not accessible as it is a paid repository. So, I implement it using the open source pkcs11-proxy. See https://gist.github.com/jclab-joseph/973d06db6856a8e5cb851909fbc7268b And https://github.com/jc-lab/hsm-.. 2022. 10. 3.
반응형