분류 전체보기
-
1. Ingress Controller는 L7 Layer에서 Application의 Service Proxy 부분을 관리하는 역할이다. 2. Istio는 Ingress Controller의 역할을 좀 더 세분화해서, Service Mesh라는 개념으로 정의한다. 2-1. 기존의 Ingress Controller를 Istio Ingress Gateway가 수행하는데, 이 때 Proxy에 보안 관리 기능인 Gateway를 먼저 거치도록 구성한다. 즉, 특정 Pod에 접근하기 위한 접근제어가 가능해진다.
[migration] nginx ingress controller -> istio service mesh1. Ingress Controller는 L7 Layer에서 Application의 Service Proxy 부분을 관리하는 역할이다. 2. Istio는 Ingress Controller의 역할을 좀 더 세분화해서, Service Mesh라는 개념으로 정의한다. 2-1. 기존의 Ingress Controller를 Istio Ingress Gateway가 수행하는데, 이 때 Proxy에 보안 관리 기능인 Gateway를 먼저 거치도록 구성한다. 즉, 특정 Pod에 접근하기 위한 접근제어가 가능해진다.
2022.09.02 -
rook cluster는 위와 같이 설정했을 때, 테스트 단계에서 ssl true + self-signed-cert으로 구성된다. 그리고 ssl: false인 경우는 rook-ceph-mgr-dashboard (dashboard enabled인 경우 생성되는 service)의 port가 7000 (http-dashboard)이고, ssl: true인 경우는 port가 8443 (https-dashboard)로 기본값이 구성되어 있다. 그리고 문제는 ssl이 true이고, service가 8443으로 표시되는데 (operator log 확인) 정작 이 dashboard를 관리하는 mgr module에서는 요렇게 뜬다. 관련 ceph의 issue로는 최근 계속 보고되고 있는 것 같다. https://gith..
rook-ceph dashboard의 service ssl + x509 certification 관련 에러rook cluster는 위와 같이 설정했을 때, 테스트 단계에서 ssl true + self-signed-cert으로 구성된다. 그리고 ssl: false인 경우는 rook-ceph-mgr-dashboard (dashboard enabled인 경우 생성되는 service)의 port가 7000 (http-dashboard)이고, ssl: true인 경우는 port가 8443 (https-dashboard)로 기본값이 구성되어 있다. 그리고 문제는 ssl이 true이고, service가 8443으로 표시되는데 (operator log 확인) 정작 이 dashboard를 관리하는 mgr module에서는 요렇게 뜬다. 관련 ceph의 issue로는 최근 계속 보고되고 있는 것 같다. https://gith..
2022.09.01 -
- https://kubernetes.io/docs/reference/access-authn-authz/authentication/ 를 참고/번역/재정리합니다 - *작성기준일: 2022/08/04 *Users in Kubernetes 1. 모든 쿠베 클러스터는 두 종류의 User로 나뉜다. Service Account (쿠베 관리O -> API로 만듦) 특정 Namespace에 Binding API Server에 의해 자동 생성 or API call을 통해 수동으로 생성 Secret으로 Credential을 저장 Normal User (쿠베가 관리X -> API로 만들 수 없음) Private Key 클러스터의 인증 기관(CA)이 서명한 유효한 인증서를 제시 CommonName(Hostname)에서 Us..
Kubernetes Authentication- https://kubernetes.io/docs/reference/access-authn-authz/authentication/ 를 참고/번역/재정리합니다 - *작성기준일: 2022/08/04 *Users in Kubernetes 1. 모든 쿠베 클러스터는 두 종류의 User로 나뉜다. Service Account (쿠베 관리O -> API로 만듦) 특정 Namespace에 Binding API Server에 의해 자동 생성 or API call을 통해 수동으로 생성 Secret으로 Credential을 저장 Normal User (쿠베가 관리X -> API로 만들 수 없음) Private Key 클러스터의 인증 기관(CA)이 서명한 유효한 인증서를 제시 CommonName(Hostname)에서 Us..
2022.08.04 -
Rook-Ceph은 CRD가 오고가는만큼, 모두 삭제하지 않으면 보통 namespace 삭제 단계에서 클러스터 freeze가 발생하더라. 그래서 보통 rook filesystem 자체를 초기화하는 업데이트를 할 때에는 클러스터를 날리고 다시 설정하는 비효율 끝판왕을 수행하느라 클러스터 재할당, 설정 다 다시하고... 이러는 복잡함을 겪었다. 그래서 일단 rokk-ceph teardown document를 중심으로 manulally 삭제를 잘 할 수 있는지 해보려 한다. 1. cephcluster CRD를 삭제준비상태로 patch kubectl -n rook-ceph patch cephcluster rook-ceph --type merge -p '{"spec":{"cleanupPolicy":{"confir..
Rook-Ceph Teardown 정석으로 수행하기Rook-Ceph은 CRD가 오고가는만큼, 모두 삭제하지 않으면 보통 namespace 삭제 단계에서 클러스터 freeze가 발생하더라. 그래서 보통 rook filesystem 자체를 초기화하는 업데이트를 할 때에는 클러스터를 날리고 다시 설정하는 비효율 끝판왕을 수행하느라 클러스터 재할당, 설정 다 다시하고... 이러는 복잡함을 겪었다. 그래서 일단 rokk-ceph teardown document를 중심으로 manulally 삭제를 잘 할 수 있는지 해보려 한다. 1. cephcluster CRD를 삭제준비상태로 patch kubectl -n rook-ceph patch cephcluster rook-ceph --type merge -p '{"spec":{"cleanupPolicy":{"confir..
2022.05.26 -
multipass에서 k3s를 설치했을 때 ubuntu 20.10 node 기준 mount 더보기 sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=8178484k,nr_inodes=2044621,mode=755,inode64) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,..
linux ubuntu에서 어떤 device가 mount되었는지 확인하는 방법multipass에서 k3s를 설치했을 때 ubuntu 20.10 node 기준 mount 더보기 sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=8178484k,nr_inodes=2044621,mode=755,inode64) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,..
2022.05.25 -
ceph-OSD란? Object Storage Daemon, 데이터 저장하는 곳으로, OSD Pod가 없으면 Rook-Ceph을 통해 PVC가 Bound되지 않음 https://rook.io/docs/rook/v1.9/ceph-common-issues.html#pvcs-stay-in-pending-state 문제 관련 참고사항 1. Official Doc에서의 Issue https://rook.io/docs/rook/v1.9/ceph-common-issues.html#osd-pods-are-not-created-on-my-devices Ceph Docs Ceph Common Issues Many of these problem cases are hard to summarize down to a short ..
rook-ceph trouble shooting: OSD가 생성되지 않아요 (RKE)ceph-OSD란? Object Storage Daemon, 데이터 저장하는 곳으로, OSD Pod가 없으면 Rook-Ceph을 통해 PVC가 Bound되지 않음 https://rook.io/docs/rook/v1.9/ceph-common-issues.html#pvcs-stay-in-pending-state 문제 관련 참고사항 1. Official Doc에서의 Issue https://rook.io/docs/rook/v1.9/ceph-common-issues.html#osd-pods-are-not-created-on-my-devices Ceph Docs Ceph Common Issues Many of these problem cases are hard to summarize down to a short ..
2022.05.24 -
쿠버네티스 클러스터 리소스 모니터링을 위한 Grafana는 보통 Prometheus와 같이 간다. 설치방법이 다양한데, 제일 편한 건 helm chart를 통해 설치하는 것. helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update \ && helm upgrade --install kube-stack-prometheus prometheus-community/kube-prometheus-stack \ -n prom-monitoring --create-namespace \ --set prometheus-node-exporter.hostRootFsMount.enabled=false \..
kubernetes helm을 통해 prometheus chart 및 grafana 연동 (1/2)쿠버네티스 클러스터 리소스 모니터링을 위한 Grafana는 보통 Prometheus와 같이 간다. 설치방법이 다양한데, 제일 편한 건 helm chart를 통해 설치하는 것. helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update \ && helm upgrade --install kube-stack-prometheus prometheus-community/kube-prometheus-stack \ -n prom-monitoring --create-namespace \ --set prometheus-node-exporter.hostRootFsMount.enabled=false \..
2022.05.19 -
예를 들어, Pod의 Root Directory에 Pod Running과 동시에 Requirements.txt를 둬야할 때가 있다. 나는 지금 Longhorn Storage + NFS를 기반으로 컨테이너 파일시스템을 관리하고 있는데, (find_pod는 그냥 내가 만든 쿠베용 쉘스크립트 커맨드라인 함수 중 하나다.) 무튼 저걸 실행하게 되면, sh: 1: cannot create /requirements.txt: Permission denied 에러가 발생한다. 왜냐하면 저 컨테이너 이미지는 airflow인데, ls -A bin boot data data_tmp dev .dockerenv entrypoint.sh etc home lib lib64 media mnt opt proc requirements...
Kubernetes Pod의 Root Directory("/")에서 작업이 필요할 때예를 들어, Pod의 Root Directory에 Pod Running과 동시에 Requirements.txt를 둬야할 때가 있다. 나는 지금 Longhorn Storage + NFS를 기반으로 컨테이너 파일시스템을 관리하고 있는데, (find_pod는 그냥 내가 만든 쿠베용 쉘스크립트 커맨드라인 함수 중 하나다.) 무튼 저걸 실행하게 되면, sh: 1: cannot create /requirements.txt: Permission denied 에러가 발생한다. 왜냐하면 저 컨테이너 이미지는 airflow인데, ls -A bin boot data data_tmp dev .dockerenv entrypoint.sh etc home lib lib64 media mnt opt proc requirements...
2022.05.18