본문 바로가기
반응형

Docker, k8s28

Error 또는 Completed Pod 한번에 삭제하기 우선 전체 List 확인 kubectl get pods 그 중 Completed 확인 kubectl get pod --field-selector=status.phase==Succeeded Completed pod들 삭제 kubectl delete pod --field-selector=status.phase==Succeeded 에러 상태의 pod 삭제 kubectl delete pod --field-selector=status.phase==Failed 2023. 1. 4.
[Docker] container 실행 시 python 무한 대기 Dockerfile 마지막에 CMD tail -f /dev/null 2022. 12. 27.
[Docker] Window(WSL2) Docker Image 저장 경로 변경 (C to D) 기본적으로 Docker Desktop 을 설치하고 WSL2 를 활성하면 window 나 ubuntu 에서 사용하는 docker image들은 아래 경로에 저장됩니다. C 드라이브에 저장되기 때문에, 이것저것 테스트를 하다보니 C 드라이브의 공간이 부족해졌습니다. 1. Docker Desktop 중지 docker desktop 이 실행중이라면, 중지합니다. windows terminal (또는 Power Shell 에서) 상태 확인 $ wsl --list -v 2. Docker data export 현재 docker 의 data 를 내보내기 합니다. 우선 디스크 드라이브에 여유공간이 많은 곳에 폴더를 생성합니다. 예) D:\Docker\wsl\data 이렇게 만들어 놨다면 아래 명령어로, 이 위치에 dat.. 2022. 3. 27.
docker container 띄운상태 유지하기 보통 docker container 를 띄우면, spring 서버가 실행 된다던지 python 작업이 실행되서, 컨테이너가 떠 있는 상태가 되는데. 간혹 os만 띄워두고 싶은 경우가 있습니다. ubuntu 만 띄워놓고 직접 컨테이너에 들어가서 작업하고 싶을 때, 아래와 같은 방법으로 컨테이너를 유지시킬 수 있습니다. Dockerfile 의 마지막쯤에 CMD tail -f /dev/null Dockerfile 에 하지 않고, k8s 에 deploy 시 명령어를 입력하려면, deployment.yaml 에 spec: template: spec: containers: - name: your-pod-name command: - tail - -f - /dev/null 그리고 exec 나 attach 로 컨테이너에.. 2022. 3. 22.
[k8s] 단어 사전 노드(Node) 클러스터의 일부이며, 쿠버네티스에 속한 워커 머신. 클러스터(Cluster) 쿠버네티스에서 관리되는 컨테이너화 된 애플리케이션을 실행하는 노드 집합. 이 예시와 대부분의 일반적인 쿠버네티스 배포에서 클러스터에 속한 노드는 퍼블릭 인터넷의 일부가 아니다. 에지 라우터(Edge router) 클러스터에 방화벽 정책을 적용하는 라우터. 이것은 클라우드 공급자 또는 물리적 하드웨어의 일부에서 관리하는 게이트웨이일 수 있다. 클러스터 네트워크(Cluster network) 쿠버네티스 네트워킹 모델에 따라 클러스터 내부에서 통신을 용이하게 하는 논리적 또는 물리적 링크 집합. 서비스 레이블 셀렉터를 사용해서 파드 집합을 식별하는 쿠버네티스 서비스. 달리 언급하지 않으면 서비스는 클러스터 네트워크 내.. 2021. 11. 28.
[K8S] etcd 란 etcd etcd 는 분산 시스템에서 사용할 수 있는 분산형 키-값 (key-value) 저장소 입니다 CoreOS에서 클러스터를 관리하기 위해서 사용했으며, 요즘은 쿠버네티스의 기본 데이터 저장소로 많이 사용하고 있습니다. etcd는 고가용성을 위하여 클러스터로 설치됩니다. 여러 노드의 통신은 래프트(Raft) 알고리즘에 의해 처리합니다. 연결된 노드들 중 리더를 선정하여 클러스터를 관리합니다. 데이터는 분산되어 저장하기 때문에 시스템 오류에 대한 내성을 가지고 있습니다. 클러스터의 노드는 홀수개로 이루어져야 하며, 최소 3개 이상의 노드가 필요합니다. 쿠버네티스의 etcd 쿠버네티스는 etcd를 기본 데이터 저장소로 사용합니다. 그래서 쿠버네티스를 설치하기 위해서는 etcd 가 필요합니다. 별도의 e.. 2021. 6. 18.
[Kubeflow] Kubeflow 에 대해 알아보자 요약 Kubernetes 클러스터 에서 머신 러닝 워크 플로 를 보다 간단하고 조정 하기 위해 설계된 무료 오픈 소스 프로젝트입니다. Kubernetes의 컨테이너화된 환경에서 머신 러닝을 사용하기위한 클라우드 네이티브 프레임 워크입니다 Kubeflow 소개 Kubeflow는 Kubernetes 용 머신 러닝 툴킷입니다 Kubernetes에서 머신 러닝 (ML) 워크 플로를 간단하고 이식 가능하며 확장 가능하게 배포하는 데 전념합니다. 목표는 다양한 인프라에 ML을위한 동급 최고의 오픈 소스 시스템을 배포하는 간단한 방법을 제공하는 것입니다. Kubernetes를 실행하는 모든 곳에서 Kubeflow를 실행할 수 있어야합니다. Kubeflow를 사용하는 이유 Kubeflow는 쿠버네티스에서 머신 러닝 워.. 2021. 6. 9.
[Docker] Build 할때 no cache 옵션주기(--no-cache) Docker Build --no-cache 소스를 바꾸든 무슨 작업을 했는데, 빌드를 했더니 말도안되게 금방 이미지가 만들어졌다. '오~~(?) 뭔가 업데이트 하더니 빨라졌나보다' 하고 container run 했는데 반영이 안됨..-_-ㅋ 이럴 땐 docker build --no-cache -t something:tag . 2021. 5. 17.
[k8s] hostAliases 에 여러 개 등록하기 apiVersion: v1 kind: Pod metadata: name: hostaliases-pod spec: restartPolicy: Never hostAliases: - ip: "127.0.0.1" hostnames: - "hello.com" - "bryan.com" - ip: "10.1.2.3" hostnames: - "tistory.com" - "naver.com" containers: - name: cat-hosts image: busybox command: - cat args: - "/etc/hosts" 이 pod 에서 hello.com 또는 bryan.com 을 호출하면 127.0.0.1 로 간다는 뜻입니다. 그 아래도 마찬가지로 tistory.com 또는 naver.com 을 호출하면 .. 2021. 1. 15.
[k8s] pod restart #pod 재시작 하기 pod restart 방법이 여러가지 있습니다. 우선 제가 간단하게 쓰는 방법은 scale $ kubectl scale deployment [deployment_name] --replicas=0 이렇게 해서 pod 을 끕니다. 그리고 다시 $ kubectl scale deployment [deployment_name] --replicas=1 이렇게 하면 재시작됩니다. 다른 방법은 Rolling Restart $ kubectl rollout restart deployment [deployment_name] 위에 [deployment_name] 에서 대괄호까지 빼고 본인의 deployment 명을 써주시면 됩니다. 예를들어 deployment명이 hello-bryan-depl 이라면 $ kubectl rol.. 2020. 12. 18.
728x90
반응형