지돌이의 블로그 입니다!

https://github.com/jc-lab/ubuntu-overlayfs-installer

 

jc-lab/ubuntu-overlayfs-installer

Contribute to jc-lab/ubuntu-overlayfs-installer development by creating an account on GitHub.

github.com

참고

 

힘들었따..ㅠㅠ

 

덕분에 cloud-init 에 많이 배우게 되었다.

 

hostname 및 netplan 등을 cloud-init을 통해 설정한다.

 

datasource에는 몇가지 방법이 있는데 nocloud-net의 경우 /var/lib/cloud/seed/nocloud-net/에 meta-data 와 user-data가 있는 경우 활성화된다.

 

이를 rootfs 이미지 안에 넣지 않고 boot partition으로 빼려고 하는데 이게 쉽지 않다..ㅋ

 

단순히 cloud-init-local.service 전에 서비스를 띄어서 boot partition에서 메타데이터를 복사하면 될 거 같았는데 그 이전에

 

systemd을 통해 작동하는 cloud-init-generator에서부터 해당 파일을 확인하기 때문에 위와 같은 작업은 먹히지 않았다. (generator 가 작동할 당시에는 메타데이터가 없기 때문에 cloud-init.target 자체를 비활성화 한다)

Comment +0

지난 번 rook-ceph 사용시 XFS파일시스템을 사용하면서 osd가 있는 볼륨에서 rbd를 사용하면 Kernel에서 Hang이 걸리는 문제가 있었다.

따라서 storage전용 node에서는 Scheduling을 막아야 한다.

이는 taint 으로 가능하다.

$ kubectl label nodes <storage-node-name> node-type.cluster.label/ceph-storage=true
$ kubectl taint nodes <storage-node-name> node-type.cluster.label/ceph-storage=true:PreferNoSchedule

# CephCluster 에서 아래 내용을 꼭 추가해줘야 한다!

  placement:
    osd:
      tolerations:
      - key: node-type.cluster.label/ceph-storage
        operator: Exists

 잘 된다!

Comment +0