본문 바로가기

전체 글320

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.
gRPC over Anything gRPC over Anything https://github.com/jc-lab/grpc-over/tree/master/java WebSocket Example: https://github.com/jc-lab/grpc-over/tree/master/java/websocket 2022. 12. 8.
Go-lang TLS-PSK implementation https://github.com/jc-lab/go-tls-psk GitHub - jc-lab/go-tls-psk: go tls with psk support go tls with psk support. Contribute to jc-lab/go-tls-psk development by creating an account on GitHub. github.com 2022. 12. 1.
docker 에서 github.com 접근 못하는 문제 Kubernetes 에 Kata-containers 런타임을 통해 dind 으로 dockerd 를 올렸다. - Kubernetes : v1.19.14 - CNI : Calico v3.14.0 - Kata-containers : 3.0.0 그런데 해당 dockerd 를 통해 실행한 docker container 안에서 이상하게 github.com 를 접근하지 못하는 문제가 발생했다. 그 외 다른 사이트들은 대체로 동작했다. 확인해 보니 HTTPS 연결을 맺지 못한다. 이유가 무엇일까... 잘 되는 연결: echo "" | openssl s_client -connect dl-cdn.alpinelinux.org:443 CONNECTED(00000003) depth=2 C = US, O = Internet Se.. 2022. 11. 22.
kata-containers 에서 docker 사용하기 kata-containers 3.0 에 docker 를 올리면 파드는 동작하는데 실질적으로 동작하지 않는다. Docker 에서는 아래와 같은 오류가 발생했다. WARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load #1 [internal] booting buildkit #1 pulling image moby/buildkit:buildx-stable-1 #1 pulling image moby/buildkit:build.. 2022. 11. 21.
grpc 에서 setOnCancelHandler 주의 https://gist.github.com/jclab-joseph/48db0460a8089344dc308a3e7be4dbbf setOnCloseHandler & setOnCancelHandler 모두 동작하지 않는다... 정확히는 언제 동작하는지 모르겠다. Client 에서 강제로 Connection 을 끊으면 (프로세스를 죽이면) 두 콜백 모두 호출되지 않으며 심지어 onNext 에서도 Exception 이 떨어지거나 하지 않고 잘 동작한다...ㅠㅠ Context.current().isCancelled() 또는 Context.current().addListener 만 동작한다. 2022. 11. 17.