k8s [K8s學習筆記] 透過depolyment操控pod 訂閱patreon即可看到更多文章 Youtube頻道 간단한 배포 만들기 最簡單的deployment就是啟動某個image,然後不帶其他設定 可以透過 kubectl get deployment 檢查deploy的狀態 等到狀態變成ready後就可以用 kubectl get pod 看到所有running的pod pod name是由replicaset id + pod id組成 通常也不會去動replicaset,他會在d... k8skubernetesdeployment [K8s] Kubernetes Pod를 다시 시작하는 방법 이 경우 빠르고 쉽게 다시 시작할 수 있는 방법이 필요할 수 있습니다. 따라서 단일 포드를 다시 시작하는 간단한 방법이 없습니다. 이 문서에서 다룰 몇 가지 사용 가능한 옵션이 있습니다. ReplicaSet에서 유지해야 하는 포드 수를 나타내는 복제본 수를 축소하여 효과적으로 포드를 제거한 다음 다시 확장 다운타임 발생 단일 포드를 삭제하여 K8s에서 강제로 다시 생성 가동 중지 시간이 발생... k8skubernetesbeginners 테멜 랜처 쿠룰루무 Rancher hakkında temel ve sözel bir dokümanı " "olarak Medium üzerinde paylaşmıştım. Sanal makineye kendi kullanıcınızla giriş yaptıktan sonra yönetici hesabına geçerek aşağıdaki paketi yüklememiz gerekiyor: Bu adımdan s... k8srancherdockerkubernetes Kubeconfig 네디르? Kubeconfig, "kubectl"gibi uygulamalar ile kubernetes kümelerine uzaktan erişebilirliği sağlayan yapılandırma dosyasıdır. Kubeconfig içerisinde 3 ana başlık vardır. Kubectl veya Kubernetes Lens gibi uygulamaları kullanabi... k8skubeconfigkubernetes minio 실습 minio 서버를 실행할 때 하나의 destination(경로, 목적지)을 설정해 주면 된다. FS 방식으로 서버를 실행한다면 minio 스토리지에 들어간 파일을 서버에서 직접 열어 확인이 가능하다. 하지만 서버가 오프라인이 된다면 minio 서버는 다운되게 된다. 콘솔 포트도 지정할 수 있다. 해당 포트 접속 시 브라우저에 접속할 수 있다. 만약 해당 옵션을 주지 않는다면 minio 서버는... k8sMinIOkubernetes쿠버네티스MinIO [kubernetes] Lens 로 ServiceAccount 만들고 Role 적용하기 kubernetes 접속 계정을 여러 개로 나눠서 권한 제한이 가능하도록 함 빠르고 편리하게 계정을 생성하고 권한을 부여함 Lens UI - 클러스터 접속 정보 추가 kubeconfig 추가 text 로 붙여 넣기, kubeconfig 확인 방법은 아래를 참고 kubeconfig 확인 방법 any: kubectl context 가 있는 모든 서버 KUBECONFIG: KUBECONFIG 를 ... ClusterRolekubernetesServiceAccountk8sLensClusterRole 인그레스(Ingress) 인그레스는 주로 클러스터 외부에서 안에 있는 파드에 접근할 때 사용하는 방법이다. 🧩 서비스(Service): 레이블 셀렉터를 사용해서 파드 집합을 식별하는 쿠버네티스 서비스 (달리 언급하지 않으면 서비스는 클러스터 내에서만 라우팅 가능한 가상 IP를 가지는 것을 가정) 클러스터 외부에서 접근해야 할 URL을 사용할 수 있도록 하고, 트래픽 로드밸런싱, SSL 인증서 처리, 도메인 기반 가상... k8sk8s ReplicaSet과 Deployment 쿠버네티스는 4개의 기본 오브젝트에 여러가지 기능을 추가하여 더 효율적으로 사용할 수 있는 오브젝트들을 추가했습니다. 오늘은 그 중에서 가장 많이 사용되는 오브젝트들인 Replica Set과 Deployment에 대해 알아보겠습니다. 그 중에서도 클러스터의 Pod들을 관찰하여 관리자가 선언한 Pod의 갯수를 보장해주는 기능을 Controller들이 수행해주고, 오늘 주제인 Replica Se... deploymentkubernetesreplica set쿠버네티스objectk8sdeployment Docker 데이터 관리(Volume vs bid mount) Docker 컨테이너의 데이터 관리... Docker 컨테이너의 데이터 관리는 중요한 이슈입니다. Docker Volume과 bind mount Docker에서는 데이터의 영속성을 관리하기 위한 Docker Volume과 bind mount라는 Docker Volume : Jenkins images 활용 Docker Volume 생성 및 정보 확인 Mountpoint에서 확인할 수 있는 "/... 도커가상화쿠버네티스dockerkubernetesk8sawsaws Kubernetes MIG(Multi Instance GPUs) 적용하기 NFD와 GFD를 모두 배포하고 실행하면 GPU가 설치된 모든 노드에 GPU 관련 레이블이 표시되는 것을 볼 수 있습니다.(metadata.labels 쪽을 확인해보세요!) single 전략을 사용하면 전체 GPU가 아닌 노드의 MIG 장치에 대한 정보를 제공하기 위해 단일 nvidia.com/gpu 레이블이 오버로드됩니다. 이전 포스팅에서 resource로 nvidia.com/gpu:1를 ... MIGNFDNvidiaa5000kubernetesk8smulti instance gpusMIG Kubernetes GPU RAM 분할(Extended Resource 이용) 그래서 아래와 같은 상황일 때 참고하시라고 GPU RAM을 분할하여 컨테이너에 할당할 수 있는 방법을 함께 진행해보고자 합니다. n개의 컨테이너에 GPU를 공유해서 할당할 수 없다. GPU를 분할하여 컨테이너에 할당하고자 하나 NVIDIA MIG는 A100, A30 등의 시리즈만 지원한다.(A5000 등 저가 제품 사용자는 MIG 사용 불가능합니다 - 사실 이게 절대 저가가 아닌데 말이죠..... Extendend Resourcegpukubernetesk8sRAM@ResourceVRAMcustom resource@Resource AWS EC2에 kubernetes 설치하기 kubernetes master, worker 노드의 경우 기본적으로 권장하는 사이즈가 CPU 2이상, Memory 2GB 이상이다.( ) AMI 선택 시 Amazon Linux는 선택하지말 것 (docker, kubernetes repo에서 yum 설치 중 오류가 발생한다.) 나중에 kubeadm join이 되지 않아서 한참 헤맸던 부분인데, 기본적으로 서브넷 간에 통신이 가능하도록 설정하... kubernetesk8sawsec2aws ETCD Backup과 Restore 정리(CKA 시험 대비용) ETCD Restore를 진행할려면 다음과 같이 etcdctl을 실작업해주면 된다 그러나 --cacert, --cert, --key 옵션은 ETCD Backup 할때도 사용되는 옵션이기 때문에 설정하는데 큰 문제는 없다고 생각한다. etcd 프로세스를 사용했을때 설정한 값인 /var/lib/etcd 로 설정하게 되면 Restore 파일이 기존 파일을 덮어 씌울수 있기 때문에 바람직한 Rest... kubernetes쿠버네티스k8sckacka Kubernetes 실습을 위한 Minikube 환경 구성 이전에 설명드렸던 Kubernetes 클러스터의 구성도를 보면 하나 이상의 Control Plane(Master Node)과 여러대의 Worker Node로 구성되는것을 확인할 수 있습니다. 쿠버네티스는 실제로 위와 같은 형태로 동작하지만, 실제로 애플리케이션을 배포하는 경우가 아닌 단순한 테스트를 진행할 경우 위와 같이 클러스터를 구축하는 것은 리소스 비용이 많이 발생합니다. 공식문서에서는... minikube도커쿠버네티스dockerkubernetesk8sdocker [k8s] 5. Replication Controller #success: 프로브가 실패 후에 다시 성공 상태로 돌아오기 위해 성공해야 하는 기준 횟수 레플리케이션 컨트롤러 동작 실행 명령을 내린 파드의 실행, 숫자를 보장함 클러스터에서 노드가 off 된 경우, 사라진 파드를 감지하고 대체 파드를 생성 초과 복제본이 생긴 경우에는 제거한다 (수동으로 생성함, 기존 파드의 type 변경, rc의 관리 파드 설정 값 변경) 구성 요소 레이블 셀렉터: ... k8sk8s K8S 바이너리 배포 K8S(1.15) 배포 hpa 기능 우정 알림: 관리자에서 인증서 프로필 및 인증서 생성 apiserver 시작 스크립트를 수정하고 다음 인자를 추가합니다. 매개변수 설명:--requestheader-XXX --proxy-client-XXX : kube-apiserver의aggregatorlayer 관련 설정 매개 변수입니다.metrics-server & HPA는 사용해야 합니다.--requestheader-client-ca-... k8s1.152진배치 쿠버네티스 기초 인그레스 트래픽 * 외부에서 서버로 유입되는 트래픽 인그레스 외부 요청을 어떻게 처리할 것인지 네트워크 7계층 레벨에서 정의하는 쿠버네티스 오브젝트이다. 외부 요청 라우팅 /apple, /apple/red 등과 같이 특정 경로로 들어온 요청을 어떠한 서비스로 전달할지 정의하는 라우팅 * 가상호스트 기반의 요청 처리 같은 IP에 대해 다른 도메인 이름으로 요청이 도착했을 때 어떻게 처리할 것인... k8s쿠버네티스k8s [kubernetes] k8s 1.24에서 docker 지원 중단에 따른 container 런타임(docker, containerd, cri-o) 전환 방법 이번 블로그에서는 kubernetes 1.24 버전에서 더 이상 Docker를 컨테이너 런타임으로 지원하지 않고, containerd 또는 CRI-O와 같은 다른 호환 가능한 컨테이너 런타임 중 하나로 전환해야 하는 내용에 대해 설명합니다. 2) CRI(Container Runtime Interface)는 Kubernetes 구성 요소인 kubelet이 다양한 컨테이너 런타임을 사용할 수 있... kubernetescontainercri-ocontainerddockerk8sKANSKANS 1-1. 컨테이너 격리(chroot) Host OS 커널을 공유하며 컨테이너가 동작하기 때문에 Host OS로부터 컨테이너가 완전히 독립적일 수는 없지만 격리된 공간에서 어플리케이션 동작에 필요한 프로세스만을 묶어서 실행시킬 수 있다. chroot를 통해 특정 디렉토리 경로를 root로 지정하여 환경을 분리할 수 있으며, 상위 디렉토리에 프로세스가 접근할 수 없도록 설정함으로써 해당 경로에 프로세스를 격리시킬 수 있다. root... 쿠버네티스코리아쿠버네티스k8sk8s K8S 노드 상태 NotReady 문제 해결 선언문... 레코드 노드 NotReady 인증서 만료로 인한 문제 해결 프로세스 문제 설명 인증서 만료 해결... k8sFAQs서버 파일에서 환경 변수를 빠르게 바꾸는 방법 자격 증명 또는 기타 민감한 값을 구성 파일(예: Kubernetes yaml 파일)에 저장하는 것이 좋지 않다는 것을 알고 있지만 복잡한 문자열 대체를 수행하거나 사용자 정의 Python 스크립트를 작성하지 않고도 값을 쉽게 대체할 수 있는 방법은 무엇입니까? 자격 증명과 구성을 저장하는 데 사용하는 프로젝트에 대한 개인 환경 변수 파일이 있는 경우가 많습니다. 프로젝트에서 작업하기 전에 ... envsubstkubernetesk8senvironmentvariables Kubernetes 배포 master 서비스 1. 서버 초기화 1 방화벽 닫기 [모든 마스터 실행] 2 selinux 닫기 [모든 마스터 실행] 3 호스트 이름 구성 [모든 마스터 실행] hostnamectl set-hostname 호스트 이름 4 구성 이름 확인 [모든 마스터 실행] 다음 네 줄 추가 5 시간 동기화 구성 하나의 노드를 서버로 선택하고 나머지는 클라이언트master1을 시간 서버로 하는 서버와 다른 시간 서버를 위한 ... Kubernetesk8s
[K8s學習筆記] 透過depolyment操控pod 訂閱patreon即可看到更多文章 Youtube頻道 간단한 배포 만들기 最簡單的deployment就是啟動某個image,然後不帶其他設定 可以透過 kubectl get deployment 檢查deploy的狀態 等到狀態變成ready後就可以用 kubectl get pod 看到所有running的pod pod name是由replicaset id + pod id組成 通常也不會去動replicaset,他會在d... k8skubernetesdeployment [K8s] Kubernetes Pod를 다시 시작하는 방법 이 경우 빠르고 쉽게 다시 시작할 수 있는 방법이 필요할 수 있습니다. 따라서 단일 포드를 다시 시작하는 간단한 방법이 없습니다. 이 문서에서 다룰 몇 가지 사용 가능한 옵션이 있습니다. ReplicaSet에서 유지해야 하는 포드 수를 나타내는 복제본 수를 축소하여 효과적으로 포드를 제거한 다음 다시 확장 다운타임 발생 단일 포드를 삭제하여 K8s에서 강제로 다시 생성 가동 중지 시간이 발생... k8skubernetesbeginners 테멜 랜처 쿠룰루무 Rancher hakkında temel ve sözel bir dokümanı " "olarak Medium üzerinde paylaşmıştım. Sanal makineye kendi kullanıcınızla giriş yaptıktan sonra yönetici hesabına geçerek aşağıdaki paketi yüklememiz gerekiyor: Bu adımdan s... k8srancherdockerkubernetes Kubeconfig 네디르? Kubeconfig, "kubectl"gibi uygulamalar ile kubernetes kümelerine uzaktan erişebilirliği sağlayan yapılandırma dosyasıdır. Kubeconfig içerisinde 3 ana başlık vardır. Kubectl veya Kubernetes Lens gibi uygulamaları kullanabi... k8skubeconfigkubernetes minio 실습 minio 서버를 실행할 때 하나의 destination(경로, 목적지)을 설정해 주면 된다. FS 방식으로 서버를 실행한다면 minio 스토리지에 들어간 파일을 서버에서 직접 열어 확인이 가능하다. 하지만 서버가 오프라인이 된다면 minio 서버는 다운되게 된다. 콘솔 포트도 지정할 수 있다. 해당 포트 접속 시 브라우저에 접속할 수 있다. 만약 해당 옵션을 주지 않는다면 minio 서버는... k8sMinIOkubernetes쿠버네티스MinIO [kubernetes] Lens 로 ServiceAccount 만들고 Role 적용하기 kubernetes 접속 계정을 여러 개로 나눠서 권한 제한이 가능하도록 함 빠르고 편리하게 계정을 생성하고 권한을 부여함 Lens UI - 클러스터 접속 정보 추가 kubeconfig 추가 text 로 붙여 넣기, kubeconfig 확인 방법은 아래를 참고 kubeconfig 확인 방법 any: kubectl context 가 있는 모든 서버 KUBECONFIG: KUBECONFIG 를 ... ClusterRolekubernetesServiceAccountk8sLensClusterRole 인그레스(Ingress) 인그레스는 주로 클러스터 외부에서 안에 있는 파드에 접근할 때 사용하는 방법이다. 🧩 서비스(Service): 레이블 셀렉터를 사용해서 파드 집합을 식별하는 쿠버네티스 서비스 (달리 언급하지 않으면 서비스는 클러스터 내에서만 라우팅 가능한 가상 IP를 가지는 것을 가정) 클러스터 외부에서 접근해야 할 URL을 사용할 수 있도록 하고, 트래픽 로드밸런싱, SSL 인증서 처리, 도메인 기반 가상... k8sk8s ReplicaSet과 Deployment 쿠버네티스는 4개의 기본 오브젝트에 여러가지 기능을 추가하여 더 효율적으로 사용할 수 있는 오브젝트들을 추가했습니다. 오늘은 그 중에서 가장 많이 사용되는 오브젝트들인 Replica Set과 Deployment에 대해 알아보겠습니다. 그 중에서도 클러스터의 Pod들을 관찰하여 관리자가 선언한 Pod의 갯수를 보장해주는 기능을 Controller들이 수행해주고, 오늘 주제인 Replica Se... deploymentkubernetesreplica set쿠버네티스objectk8sdeployment Docker 데이터 관리(Volume vs bid mount) Docker 컨테이너의 데이터 관리... Docker 컨테이너의 데이터 관리는 중요한 이슈입니다. Docker Volume과 bind mount Docker에서는 데이터의 영속성을 관리하기 위한 Docker Volume과 bind mount라는 Docker Volume : Jenkins images 활용 Docker Volume 생성 및 정보 확인 Mountpoint에서 확인할 수 있는 "/... 도커가상화쿠버네티스dockerkubernetesk8sawsaws Kubernetes MIG(Multi Instance GPUs) 적용하기 NFD와 GFD를 모두 배포하고 실행하면 GPU가 설치된 모든 노드에 GPU 관련 레이블이 표시되는 것을 볼 수 있습니다.(metadata.labels 쪽을 확인해보세요!) single 전략을 사용하면 전체 GPU가 아닌 노드의 MIG 장치에 대한 정보를 제공하기 위해 단일 nvidia.com/gpu 레이블이 오버로드됩니다. 이전 포스팅에서 resource로 nvidia.com/gpu:1를 ... MIGNFDNvidiaa5000kubernetesk8smulti instance gpusMIG Kubernetes GPU RAM 분할(Extended Resource 이용) 그래서 아래와 같은 상황일 때 참고하시라고 GPU RAM을 분할하여 컨테이너에 할당할 수 있는 방법을 함께 진행해보고자 합니다. n개의 컨테이너에 GPU를 공유해서 할당할 수 없다. GPU를 분할하여 컨테이너에 할당하고자 하나 NVIDIA MIG는 A100, A30 등의 시리즈만 지원한다.(A5000 등 저가 제품 사용자는 MIG 사용 불가능합니다 - 사실 이게 절대 저가가 아닌데 말이죠..... Extendend Resourcegpukubernetesk8sRAM@ResourceVRAMcustom resource@Resource AWS EC2에 kubernetes 설치하기 kubernetes master, worker 노드의 경우 기본적으로 권장하는 사이즈가 CPU 2이상, Memory 2GB 이상이다.( ) AMI 선택 시 Amazon Linux는 선택하지말 것 (docker, kubernetes repo에서 yum 설치 중 오류가 발생한다.) 나중에 kubeadm join이 되지 않아서 한참 헤맸던 부분인데, 기본적으로 서브넷 간에 통신이 가능하도록 설정하... kubernetesk8sawsec2aws ETCD Backup과 Restore 정리(CKA 시험 대비용) ETCD Restore를 진행할려면 다음과 같이 etcdctl을 실작업해주면 된다 그러나 --cacert, --cert, --key 옵션은 ETCD Backup 할때도 사용되는 옵션이기 때문에 설정하는데 큰 문제는 없다고 생각한다. etcd 프로세스를 사용했을때 설정한 값인 /var/lib/etcd 로 설정하게 되면 Restore 파일이 기존 파일을 덮어 씌울수 있기 때문에 바람직한 Rest... kubernetes쿠버네티스k8sckacka Kubernetes 실습을 위한 Minikube 환경 구성 이전에 설명드렸던 Kubernetes 클러스터의 구성도를 보면 하나 이상의 Control Plane(Master Node)과 여러대의 Worker Node로 구성되는것을 확인할 수 있습니다. 쿠버네티스는 실제로 위와 같은 형태로 동작하지만, 실제로 애플리케이션을 배포하는 경우가 아닌 단순한 테스트를 진행할 경우 위와 같이 클러스터를 구축하는 것은 리소스 비용이 많이 발생합니다. 공식문서에서는... minikube도커쿠버네티스dockerkubernetesk8sdocker [k8s] 5. Replication Controller #success: 프로브가 실패 후에 다시 성공 상태로 돌아오기 위해 성공해야 하는 기준 횟수 레플리케이션 컨트롤러 동작 실행 명령을 내린 파드의 실행, 숫자를 보장함 클러스터에서 노드가 off 된 경우, 사라진 파드를 감지하고 대체 파드를 생성 초과 복제본이 생긴 경우에는 제거한다 (수동으로 생성함, 기존 파드의 type 변경, rc의 관리 파드 설정 값 변경) 구성 요소 레이블 셀렉터: ... k8sk8s K8S 바이너리 배포 K8S(1.15) 배포 hpa 기능 우정 알림: 관리자에서 인증서 프로필 및 인증서 생성 apiserver 시작 스크립트를 수정하고 다음 인자를 추가합니다. 매개변수 설명:--requestheader-XXX --proxy-client-XXX : kube-apiserver의aggregatorlayer 관련 설정 매개 변수입니다.metrics-server & HPA는 사용해야 합니다.--requestheader-client-ca-... k8s1.152진배치 쿠버네티스 기초 인그레스 트래픽 * 외부에서 서버로 유입되는 트래픽 인그레스 외부 요청을 어떻게 처리할 것인지 네트워크 7계층 레벨에서 정의하는 쿠버네티스 오브젝트이다. 외부 요청 라우팅 /apple, /apple/red 등과 같이 특정 경로로 들어온 요청을 어떠한 서비스로 전달할지 정의하는 라우팅 * 가상호스트 기반의 요청 처리 같은 IP에 대해 다른 도메인 이름으로 요청이 도착했을 때 어떻게 처리할 것인... k8s쿠버네티스k8s [kubernetes] k8s 1.24에서 docker 지원 중단에 따른 container 런타임(docker, containerd, cri-o) 전환 방법 이번 블로그에서는 kubernetes 1.24 버전에서 더 이상 Docker를 컨테이너 런타임으로 지원하지 않고, containerd 또는 CRI-O와 같은 다른 호환 가능한 컨테이너 런타임 중 하나로 전환해야 하는 내용에 대해 설명합니다. 2) CRI(Container Runtime Interface)는 Kubernetes 구성 요소인 kubelet이 다양한 컨테이너 런타임을 사용할 수 있... kubernetescontainercri-ocontainerddockerk8sKANSKANS 1-1. 컨테이너 격리(chroot) Host OS 커널을 공유하며 컨테이너가 동작하기 때문에 Host OS로부터 컨테이너가 완전히 독립적일 수는 없지만 격리된 공간에서 어플리케이션 동작에 필요한 프로세스만을 묶어서 실행시킬 수 있다. chroot를 통해 특정 디렉토리 경로를 root로 지정하여 환경을 분리할 수 있으며, 상위 디렉토리에 프로세스가 접근할 수 없도록 설정함으로써 해당 경로에 프로세스를 격리시킬 수 있다. root... 쿠버네티스코리아쿠버네티스k8sk8s K8S 노드 상태 NotReady 문제 해결 선언문... 레코드 노드 NotReady 인증서 만료로 인한 문제 해결 프로세스 문제 설명 인증서 만료 해결... k8sFAQs서버 파일에서 환경 변수를 빠르게 바꾸는 방법 자격 증명 또는 기타 민감한 값을 구성 파일(예: Kubernetes yaml 파일)에 저장하는 것이 좋지 않다는 것을 알고 있지만 복잡한 문자열 대체를 수행하거나 사용자 정의 Python 스크립트를 작성하지 않고도 값을 쉽게 대체할 수 있는 방법은 무엇입니까? 자격 증명과 구성을 저장하는 데 사용하는 프로젝트에 대한 개인 환경 변수 파일이 있는 경우가 많습니다. 프로젝트에서 작업하기 전에 ... envsubstkubernetesk8senvironmentvariables Kubernetes 배포 master 서비스 1. 서버 초기화 1 방화벽 닫기 [모든 마스터 실행] 2 selinux 닫기 [모든 마스터 실행] 3 호스트 이름 구성 [모든 마스터 실행] hostnamectl set-hostname 호스트 이름 4 구성 이름 확인 [모든 마스터 실행] 다음 네 줄 추가 5 시간 동기화 구성 하나의 노드를 서버로 선택하고 나머지는 클라이언트master1을 시간 서버로 하는 서버와 다른 시간 서버를 위한 ... Kubernetesk8s