분류 전체보기
-
[쿠버네티스] 모듈3 - Explore your app 튜토리얼 요약SW 개발/쿠버네티스 2021. 9. 15. 23:18
kubectl describe Pod 상세 정보 확인 이름, 시작 시간, 라벨, IP, 컨테이너 정보, 볼륨 정보, 이벤트 정보 $ kubectl get pods NAME READY STATUS RESTARTS AGE kubernetes-bootcamp-fb5c67579-wr488 1/1 Running 0 7m11s $ kubectl describe pods Name: kubernetes-bootcamp-fb5c67579-wr488 Namespace: default Priority: 0 Node: minikube/172.17.0.85 Start Time: Wed, 15 Sep 2021 13:41:02 +0000 Labels: app=kubernetes-bootcamp pod-template-hash=fb..
-
[쿠버네티스] 파드 Pod 와 노드 NodeSW 개발/쿠버네티스 2021. 9. 15. 22:39
쿠버네티스 파드 Pod 파드는 쿠버네티스의 추상적 개념이다. 파드는 하나 이상의 애플리케이션 컨테이너(docker) 그룹과 컨테이너들을 위한 공유 리소스를 포함한다. 리소스는 공유 스토리지(volume), 네트워킹(unique cluster ip), 각 컨테이너를 실행하기 위한 정보(image version, port)를 포함한다. 파드는 쿠버네티스 플랫폼에서 최소 단위이다. 쿠버네티스에서 Deployment를 생성하면 Deployment는 Pods와 Pod 내부의 Container들을 생성한다. 각 파드는 스케쥴된 Node에 묶여있고, 종료되거나 삭제 될 때까지 존재한다. 노드에 장애가 발생한 경우, 개별 Pod들은 클러스터 내의 다른 사용가능한 노드들로 스케쥴된다. Nodes Pod는 항상 Node에..
-
Jenkins pipeline 에서 secret file 사용하기SW 개발/DevOps 2021. 9. 14. 20:53
Jenkins pipeline 에서 secret file 사용하기 이 코드는 잘 동작한다. 그런데 $를 escape 한 것이 이상하다. escape 하지 않고 해보면 제대로 동작하지 않는다. sh 함수에 인자로 "..." 가 전달되는데 따옴표가 벗겨질 때 $my-public-key로 나오게 하려고 escape를 한 것 같다. withCredentials([file(credentialsId: 'PRIVATE_KEY', variable: 'my-private-key'), file(credentialsId: 'PUBLIC_KEY', variable: 'my-public-key')]) { sh "cp \$my-public-key /src/main/resources/my-public-key.der" sh "cp ..
-
[쿠버네티스] 학습/요약 - 디플로이먼트 생성하기SW 개발/쿠버네티스 2021. 9. 9. 23:34
쿠버네티스 클러스터에 애플리케이션을 배포하려면 Deployment 설정을 만들어야 한다. Deployment가 만들어지면 Control plane이 Deployment에 명시된 애플리케이션 인스턴스가 클러스터의 노드에서 실행되도록 스케쥴한다. 애플리케이션 인스턴스가 생성되면, 쿠버네티스 Deployment 컨트롤러가 지속적으로 인스턴스를 모니터링한다. 인스턴스를 구동중인 노드가 다운되거나 삭제되면, Deployment 컨트롤러가 다른 노드의 인스턴스로 교체시켜준다. (self-healing) kubectl CLI 명령으로 Deployment를 생성하고 관리할 수 있다. Kubectl은 쿠버네티스 API를 통해 클러스터와 상호작용한다. Deployment 에는 애플리케이션의 컨테이너 이미지와 복제 수를 지..
-
[쿠버네티스] 튜토리얼 요약 - 클러스터 생성하기SW 개발/쿠버네티스 2021. 9. 9. 22:57
버전 확인 및 시작하기. memory를 지정하는 옵션이 있다. cluster가 시작되고, 머신의 리소스가 표시된다. os(우분투) 버전이 나오고 서버를 마구 설정하고(certificates, keys, rbac rules) 완료된다. namespace를 기본으로 "default"로 사용한다고 한다. 이걸로 kubernetes cluster가 실행되었다! minikube가 가상 머신을 시작하고 가상 머신에서 kubenetes가 동작한다. (밑에 preparing kubernetes 보이지?) Kubernetes Bootcamp Terminal $ minikube version minikube version: v1.18.0 commit: ec61815d60f66a6e4f6353030a40b12362557ca..
-
[쿠버네티스] 개념 학습/요약 - 클러스터, 노드, 컨트롤 플레인SW 개발/쿠버네티스 2021. 9. 9. 22:35
https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/ Kubernetes는 클러스터를 운용한다. 여러개? 클러스터는 Control Plane(사령부) + Node(Worker) 로 이루어진다. Control Plane은 애플리케이션 호스팅을 위해 클러스터와 노드를 관리한다. 노드는 VM 또는 물리적인 컴퓨터다. 노드는 Control Plain과 통신하는 Kubelet 에이전트를 가진다. 클러스터는 최소 3개의 노드를 가져야 한다. Control Plain은 쿠버네티스 API 를 제공한다. 노드와 사용자는 이 API를 통해 클러스터와 상호작용 할 수 있다. 쿠버네티스 개발을 시작하려면 Minikube를 ..
-
오라클 클라우드 / 프리티어 – 후기SW 개발/클라우드 2021. 9. 7. 22:14
참고로, 여기 가입하기 상당히 어렵다. 카드 인증이 자꾸 실패했다. 몇일 뒤에 하니까 성공했다. 어쨋든 어렵게 가입한 보람있게 무료 서버(좀 구린)를 유용하게 사용하고 있다. 일단 후기부터 써보자. 프리티어(free-tier)로 서버 2개를 생성해서 사용 중이다. 사양이 매우 낮다. docker로 여러 서비스를 돌리니까 메모리가 80% 넘으면서 계속 멈춘다. 결국 현재 수준에서 서비스를 더 추가하지 않기로 했다. nginx-proxy 간단한 자작 원페이지 (nodejs 기반) owncloud (클라우드 스토리지) wordpress (지금 이 블로그) 그래도 지금 수준에서는 괜찮은거 같다. (몇일 더 써봐야겠지만…) 여기서 joplin server 까지 돌리니까 멈췄다. joplin server 가 별일도..