일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ceph
- ceph-ansible
- Docker
- k8s
- kolla-ansible
- Ansible
- HTML
- cloud-init
- Linux
- Arch
- OpenStack
- pacman
- ubuntu
- libvirt
- grafana-loki
- Kubernetes
- kolla
- golang
- nfs-provisioner
- repository
- archlinux
- terraform
- KVM
- Kubeflow
- Octavia
- port open
- yum
- awx
- cephadm
- i3
- Today
- Total
YJWANG
Rancher 를 통해 OpenStack에 KaaS 구현하기 본문
Rancher 는 Cloud (AWS, GCP.. 등) 위에 k8s를 배포하기 위한 OpenSource Project입니다.
기본적으로 OpenStack Provider를 제공하고 있지는 않지만 Driver 추가를 통해 OpenStack 위에 k8s를 배포할 수 있습니다.
2021-07-14 현재 기준 Octavia까지 자동으로 Deploy되는 기능은 없는 것으로 보이며 Cinder Project가 구성이 돼있어야 에러 없이 정상적으로 Cluster 배포가 가능합니다.
k8s 이미지는 Rancher에서 미리 build해 놓은 것을 사용하며 최신 버전 기준 v1.20.x 까지 지원합니다. API를 통해 cluster를 관리할 수 있는 부분도 장점으로 보입니다.
https://rancher.com/support-maintenance-terms/all-supported-versions/rancher-v2.5.8/
참고 : https://blog.vkhitrin.com/deploying-rancher-on-openstack/
OpenStack 구성은 사전에 돼있다는 전제 하에 진행됩니다.
Rancher 구성
저는 Docker Image를 통해 Rancher를 설치했습니다.
# docker run -d --restart=unless-stopped --net host --privileged --name rancher rancher/rancher:latest
이후 해당 서버의 80포트로 접속하여 관리자 암호를 설정한 후 로그인합니다.
Tools > Drivers > Node Drivers > OpenStack을 활성화합니다.
Node Template를 설정합니다.
Node Template는 OpenStack 환경마다 다르기 때문에 아래 내용 참고하여 설정하시기 바랍니다.
배포할 K8s Cluster를 설정합니다.
생성할 Node 정보를 입력합니다. etcd / master / worker는 상황에 맞게 선택합니다.
Create를 하면 rancher에서 자동으로 Openstack에 접속하여 Instance 생성 후 해당 Instance 위에 k8s를 배포합니다.
아래와 같이 현 배포 상태를 볼 수 있습니다.
OpenStack에 Instance가 생성됐습니다.
제 테스트 Infra 기준으로 약 30분 정도 시간 뒤에는 k8s가 구축됐음을 확인할 수 있습니다.
만약 생성 중 아래와 같이 문제가 생기면 자동으로 서버를 삭제했다가 다시 생성합니다. k8s와 같이 처음에 설정한 Node수와 일치할 때 까지 구성합니다. (Desired State)
...제 Test환경이 넉넉하지 않아서 에러가 자주나네요;;
이제 Cluster가 생성됐습니다.