https://www.youtube.com/watch?v=Mx3y9un1KeI&list=PLApuRlvrZKohaBHvXAOhUD-RxD0uQ3z0c&index=21
StatuefulSet은 상태를 보존해주는 컨트롤러다.
일반적으로 pod를 생성하게 되면, pod 이름 뒤에 hash 형태로 랜덤하게 이름이 붙는다.
하지만 statefulset으로 생성하면 hash값을 0 부터 오름차순으로 생성하게된다.
레플리카셋을 3으로 설정했을 때, -0, -1, -2
이렇게 이름을 붙인다.
demonset과 다르게 노드를 보장 해주지는 않는다. -1
번의 pod가 죽었다면, 동일한 이름의 pod를 생성해 주기는 하나 생성되는 노드 위치는 변경될 수 있다.
replicaset과 statefulset을 비교해 볼 수 있다.
servicename이 들어간다.
아래는 statefulset을 만드는 예제이다.
scale 명령어를 사용해 --replicas 개수를 변경 할 수 도 있다.
줄이거나 늘릴수 있음
edit 명령어는 현재 실행되고 있는 object를 상대로 수정하는 명령어다
edit 명령어를 사용해 nginx의 버전을 1.14 -> 1.15로 변경하고 저장하였다.
sf-nginx-1와 -0이라는 이름의 po가 terminating 즉 종료 되고 있는 것을 볼 수 있다.
또다시 순서대로 생성되는 것을 보며 이름이 유지되는 것을 확인 할 수 있다.
describe 명령어를 사용해 버전확인을 해보면 nginx1.15일 것이다.
rollout undo 명령어를 사용해 상태를 롤백 시킬 수도 있다. nginx1.15 가 1.14로 되었을 것 같다.