본문 바로가기

개발 및 운영/Kubernetes19

rook-ceph 에서 Proxmox ceph 을 external cluster 으로 사용할 때 문제 rook-ceph 에서 proxmox 의 ceph 에 external cluster 으로써 연결 해 사용하려고 했다. 하지만 동작하지 않는다... 정확히는 Cluster 는 연결되지만 rados gateway 가 동작하지 않았다. (CephObjectStore) 아래와 같이 버전이 다르다고 하는데 사실 버전은 동일했다. ceph-object-controller: failed to reconcile CephObjectStore "rook-ceph-external/my-store". waiting for ceph monitors upgrade to finish. current version: 16.2.9-0 pacific. expected version: 16.2.9-0 pacific. will reconc.. 2022. 8. 10.
kata-containers 설치 1. modules 등록 & snap & loop 제거 (loop device 가 있으면 동작을 안한다. 나만 그런가..) # snap list # snap remove (...) # 모든 snap 제거 # apt remove snapd lxd-installer multipath-tools # rm /dev/loop* # cat /etc/containerd/config.toml # cd /usr/local/bin /usr/local/bin# ln -s /opt/kata/bin/kata-monitor /usr/local/bin# ln -s /opt/kata/bin/kata-runtime /usr/local/bin# ln -s /opt/kata/bin/containerd-shim-kata-v2 /usr/lo.. 2022. 6. 21.
[rook-ceph] external cluster 사용 시 attempt to determine ceph version for the current cluster image timed out 오류 external cluster로 설정하고 CephCluster 에 대한 health 는 성공적인데, 이후 CephBlockPool 생성 시 아래와 같은 오류가 발생하였다. E | ceph-block-pool-controller: failed to reconcile. failed to fetch ceph version from cephcluster "...": attempt to determine ceph version for the current cluster image timed out ceph version 을 가져오지 못한 것으로 보이는데... monitoring을 활성화해야 이를 해결할 수 있었다. 그런데 단순히 활성화 만으로는 안되구... 버그인지 모르겠는데 rolebinding도 해 주어야 한.. 2022. 1. 11.
rados gw s3 사용시 metadata 이름에 따른 403 SignatureDoesNotMatch 문제 EXTERNAL ----- nginx-ingress ----- RadosGW S3 Server 위와 같은 구성으로 운영을 하던 중 Nexus 에서 S3 를 사용하는데 npm login 등의 작업이 안되는 일이 발생하였다. 패킷 덤프 떠서 원인을 파악해 보았더니 PutObject 를 할 때 "x-amz-meta-blobstore.temporary-blob" 라는 메타데이터 헤더가 들어가는데 SignedHeaders 에는 x-amz-meta-blobstore.temporary-blob 가 있는데 실제 Header 에는 존재하지 않아서 그런 것이었다. 처음엔 Nexus이나 AWS-SDK 문제인가... 했는데 여기선 저 헤더를 보내는데, 이상하게 rados gw 쪽에서 저 헤더를 받지 않았다. 원인은 nginx.. 2022. 1. 7.
gitlab-ce kubernetes 자동 백업 Gitlab Backup 설정은 아래 링크를 참고한다: - https://docs.gitlab.com/ee/raketasks/backup_restore.html S3 API를 지원하기 때문에 S3에 백업하거나, On-premise라면 NAS에 minio설치해서 S3 API로 백업할 수도 있다. gitlab을 Kubernetes에서 사용 할 경우 crontab을 사용할 수 없어 기본적으론 수동으로 gitlab 파드 안에 들어가서 gitlab-backup create 명령을 수행해주어야 한다. 하지만 이건 번거로우니... Kubernetes의 CronJob을 통해 이를 자동화한다. 주의 사항 gitlab이 statefulset 으로 만들어 져야 한다. deployment 으로 만드는 경우 pod이름이 ran.. 2021. 9. 2.
Kubernetes 노드가 죽은 후에 재-스케쥴링 되지 않음 Node 하나가 예기치 않게 종료되었는데 거기서 돌던 Pod들이 rescheduling되지 않았다. Node는 NotReady 상태, 파드들은 대부분 Terminating 상태에서 멈춰있었다. https://github.com/kubernetes/kubernetes/issues/55713#issuecomment-844035331 Pods are not moved when Node in NotReady state · Issue #55713 · kubernetes/kubernetes Is this a BUG REPORT or FEATURE REQUEST?: Uncomment only one, leave it on its own line: /kind bug What happened: To simulate a .. 2021. 8. 21.