본문 바로가기

K8S7

Calico iBGP에서 vxlan.calico의 IP가 NextHop으로 뜨는 경우 Kubernetes Node를 Calico를 통해 ToR (Top-of-rack Router)와 연결했을 때 주기적으로 Pod IP Cidr 들이 Node IP로 변경되었다가 vxlan.calico의 IP로 변경되었다가.. 하는 까닭에 Kubernetes Cluster 밖에서 Pod IP에 직접적으로 접근이 되지 않는 경우가 있었다. 이에 대한 해결방안은 github.com/projectcalico/libcalico-go/pull/1266 Maintaining original next hop on specific bgppeer by gunboe · Pull Request #1266 · projectcalico/libcalico-go Description An option to keep the origin.. 2020. 11. 29.
ceph mon_dns_srv_name 작성방법 github.com/ceph/ceph/blob/703524119a118108156f984370c8f70ef23cdcf3/src/mon/MonMap.cc init_with_dns_srv 함수 참고 ceph.conf에서 [global] mon_dns_srv_name = msgr1_mon.rook-ceph.svc.cluster.local auth_client_required = cephx auth_cluster_required = cephx auth_service_required = cephx [client.admin] keyring = ... 이런식으로 이상한.. 법칙이 있다. 위처럼 하면 실제로는 _msgr1._tcp.rook-ceph.svc.cluster.local 이름으로 SRV Record를 찾는다... 2020. 11. 19.
Kubernetes & OpenWRT & Calico BGP 설치 개요 HA(고 가용성)을 지원하는 Kubernetes Cluster를 구축하고 OpenWRT를 Router로 하여 Calico를 통해 BGP Network를 구축해 Service에 외부IP를 설정 가능하게 한다. 다중 Control Plane Node를 구축하고 Keepalived를 통해 가상IP를 부여하여 고가용성의 K8s api service로써 동작시킨다. K8s 설치 Step 1. K8s Control Plane Node 및 기초 설치 Reference : https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ 설치 준비 및 패키지 설치 $ sudo apt-get install -y apt-tran.. 2020. 11. 5.
Kubernetes IP 변경 뭐 production 상황에서는 발생할 일이 거의 없긴 하지만.. 테스트 환경에서 단일 K8s를 구축하고 IP를 변경할 일이 있어서 변경하는 중 삽질의 과정...은 생략하고 방법을 적는다. 인증서 변경 # root 권한에서.. # 먼저 백업을 한다 cp -rf /etc/kubernetes /etc/kubernetes.bak # ca를 제외한 모든 인증서 및 키 파일을 제거한다. rm /etc/kubernetes/pki/.... # 인증서를 재발급한다. kubeadm init phase certs # /etc/kubernetes 하위에 있는 모든 conf를 열어 IP를 변경한다. kubeadm 및 configmap 변경 ( 옛날 버전에서는 (언제부턴진 모르지만 18이하) sudo kubeadm confi.. 2020. 9. 25.
k8s 특정 노드에서 schedule 하지 않게 하기 지난 번 rook-ceph 사용시 XFS파일시스템을 사용하면서 osd가 있는 볼륨에서 rbd를 사용하면 Kernel에서 Hang이 걸리는 문제가 있었다. 따라서 storage전용 node에서는 Scheduling을 막아야 한다. 이는 taint 으로 가능하다. $ kubectl label nodes node-type.cluster.label/ceph-storage=true $ kubectl taint nodes node-type.cluster.label/ceph-storage=true:PreferNoSchedule # CephCluster 에서 아래 내용을 꼭 추가해줘야 한다! placement: osd: tolerations: - key: node-type.cluster.label/ceph-storag.. 2020. 6. 4.
Kubernetes Offline (네트워크 분리 망) 에서 사용 Kubernetes Offline 사용 개요 Kubernetes(이하 K8s)를 인터넷과 연결되지 않은 상태(이하 Offline 상태)에서 정상적으로 동작시킬 수 있도록 한다. K8s는 기본적으로 Docker Image를 인터넷 상에 있는 Docker Registry에서 받아오게 된다. 잘 알려진 Docker Registry는 docker.io, quay.io, k8s.gcr.io 등이 있다. Offline 상태에서는 Docker Image를 Online에 있는 Docker Registry에서 받아올 수 없기 때문에 필요한 이미지를 Offline상에 가지고 있어야 한다. 이를 위해 필요한 사항들을 정리한다. 고려해야 할 부분들 1. K8s 설치 여기서는 K8s 설치를 microk8s를 통한 설치를 사용한.. 2020. 3. 30.
반응형