Cloud/Kubernetes

[따배쿠] 9-4. kubernetes Canary Deployment , ConfigMap ,Secret

Tony Lim 2022. 2. 22. 15:37
728x90

롤링 업데이트랑 비슷하지만 조금씩 업데이트를 하며 업데이트된 버전이 문제가 있는지 확인하면서 업데이트한다

 

이런식으로 같이 끼워팔다가 아무 문제없으면 selector 를 변경하여서 새로운 pod만 사용이 가능하다.

 

 

ConfigMap

Configuration 을 pod안에 지니고 있는게 아니라 따로 존재하여 해당 pod가 다운되더라도 남아있게할 수 있고 공통된 configuration을 쉽게 적용할 수 있다.

 

해당 pod는 랜덤한 id를 만들어 index.html에 뿌리는 존재이다.

기본적으로 Inteveral 이 5초이지만 파란색으로 칠한 부분 때문에 Interval 이 ttabae-config 를 참조하여 2로 override하게 된다.

 

config 파일 전체를 반영할때 명령어는 다르다

 

config 중 특정 부분 을 volume에 영구적으로 보관하는 방법이다. 

pod안에 들어가서 확인해보면 symoblic link 즉 configMap을 참조하는 것이다.

 

 

Secret

ConfigMap 에서 민감한 데이터는 secret으로 만들어서 사용한다.

 

available commands 에따라 쓸수 있는 option들이 바뀐다.

 

 

첫번째는 기본으로 kube가 만든것이다.

available command에 따라 type도 바뀌는 것이다.

 

 

 

ConfigMap이랑 똑같이 3가지 방법이 존재한다.

Interval 만 적용하기

 

volume mount를 통해서 nginx-config.conf만 mount시키기

실제 pod안에서는 base64로 인코딩된 상태가아닌 디코딩이 된 상태로 보여주는거 확인

밖에서 kubectl get secrets <secret-name> -o yaml 형태로 확인하면 base 64로 인코딩 상태로 알아 볼수 없게 나온다.

 

Secret etcd에 암호화 하지 않은 텍스트로 저장되므로 secret value가 커지면 메모리 용량을 많이 사용하게 됨 , 최대크기가 1MB , ConfigMap도 마찬가지이다.

728x90