전체 글64 Chapter 9. Deployments: updating applications declaratively 주요 내용 Deployment 를 사용하여... 무중단 배포를 하는 방법 롤백하는 방법 9.1 Updating applications running in pods 만약 서비스/앱을 업데이트하고 싶다면 2가지 방법이 있다. Pod 를 모두 지운 후, 업데이트 된 pod 로 새롭게 시작 새로운 pod 를 시작한 뒤 새로운 pod 가 요청을 처리할 준비가 되면 기존 pod 를 지운다. 두 방법 모두 장단이 있다. 1번의 경우 잠시 서비스가 중단된다는 문제가 있고, 2번의 경우 배포 중에 2가지 버전의 서비스가 동시에 존재하게 되므로 이를 잘 처리하기 위해서 서비스/앱 단에서 처리해줘야 한다. (하위 호환성) 9.1.1 삭제 후 새롭게 생성 ReplicationController / ReplicaSet 의 경우.. 2021. 4. 30. Chapter 8. Accessing pod metadata and other resources from applications 주요 내용 Pod 나 컨테이너의 metadata 를 전달하는 방법 컨테이너 안의 앱이 Kubernetes API 와 통신하고 클러스터의 리소스를 생성/수정하는 방법 8.1 Passing metadata through the Downward API 앱의 config data 는 pod 생성 전에 결정되기 때문에 환경 변수나 configMap, secret volume 을 이용해 전달할 수 있었다. 하지만 pod 가 시작 되어야 알 수 있는 정보들도 있다. (Pod IP, 실행 중인 노드의 이름, pod 자체의 이름 등) 이런 정보를 얻기 위해서 Downward API 가 존재하며, 이 API 를 호출하면 pod 나 실행 환경과 관련된 정보를 얻을 수 있다. 얻은 정보는 환경 변수로 전달되거나, downwa.. 2021. 4. 18. Chapter 7. ConfigMaps and Secrets: configuring applications 거의 대부분의 앱은 설정(configuration)이 필요하다. 개발 서버, 배포 서버의 설정 사항 (접속하려는 DB 서버 주소 등)이 다를 수도 있고, 클라우드 등에 접속하기 위한 access key 가 필요하거나, 데이터를 암호화하는 encryption key 도 설정해야하는 경우가 있다. 이러한 경우에 해당 값들을 도커 이미지 자체에 넣어버리면 보안 상 취약하고, 또 설정 사항을 변경하는 경우 이미지를 다시 빌드해야하는 등 불편함이 따른다. 이번 장에서는 Kubernetes 에서 돌아가는 어플리케이션에 설정 사항을 넘겨주는 방법을 알아본다. 7.1 컨테이너화 된 어플리케이션 설정하기 보통 어플리케이션의 설정 사항을 관리할 때에는 configuration file 이 존재하게 된다. (.propert.. 2021. 4. 18. Chapter 6. Volumes: attaching disk storage to containers 컨테이너가 재시작되면 기존 작업 내역이 모두 사라지게 될 수 있으므로, 컨테이너의 작업 내역을 저장하고 같은 pod 내의 다른 컨테이너가 함께 사용하는 저장 공간이다. 6.1 Introducing volumes Pod 의 한 구성 부분으로 pod spec 에 정의되어 있다. 또 standalone Kubernetes object 가 아니라서 독립적으로 생성되거나 삭제될 수 없다. Pod 내의 모든 컨테이너로부터 접근이 가능하지만, 그렇게 하려면 mount 해줘야 한다. 6.1.1 Volume 예시 6.1.2 Available volume types 종류가 굉장히 많은데, 다 알지는 않아도 괜찮다고 한다. Volume types emptyDir: 빈 폴더로 일시적인 데이터 저장에 사용 hostPath: 노.. 2021. 4. 7. 이전 1 ··· 6 7 8 9 10 11 12 ··· 16 다음