https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
ReplicaSet์ replica Pod์ด ์ธ์ ๋ ์ง ์คํ๋ ์ ์๋๋ก ์์ ๋ set์ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉํจ.
ํน์ ์๋ณ์๋ฅผ ๊ฐ์ง๋ Pod์ ์ ํจ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํจ.
metadata.ownerReferences
ํ๋๋ฅผ ํตํด ์ฐ๊ฒฐ๋์ด ์์. ReplicaSet vs ReplicationController
- ๋ ํ๋ฆฌ์นด์ ์ด ๋ ํ๋ถํ ํํ์ ํฌ๋ ์ ๋ ํฐ๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ ํ๋ฆฌ์ผ์ด์ ์ปจํธ๋กค๋ฌ: ํน์ Label์ ํฌํจํ๋ ํฌ๋๊ฐ ์ผ์นํ๋์ง ํ์ธ
apiVersion: apps/v1 kind: ReplicaSet metadata: name: frontend labels: app: guestbook tier: frontend spec: # modify replicas according to your case replicas: 3 selector: matchLabels: tier: frontend template: metadata: labels: tier: frontend spec: containers: - name: php-redis image: gcr.io/google_samples/gb-frontend:v3
spec ํ๋์ label selector๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ selector ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
spec: matchLabels: tier: frontend
spec: selector: matchExpressions: - key: tier operator: In values: - frontend
spec: selector: matchLabels: key: value matchExpressions: - {key: keyName, operator: In, valeus: [valueName]} #[] : value๋ฆฌ์คํธ
kubectl create -f <replicaSet.yaml>
: ๋ ํ๋ฆฌ์นด์
์์ฑ
kubectl get rs
: ๋ ํ๋ฆฌ์นด์
์กฐํ
kubectl describe rs <Replicaset ์ด๋ฆ>
: ๋ ํ๋ฆฌ์นด์
์์ธ ์กฐํ
kubectl delete rs <Replicaset ์ด๋ฆ>
: ๋ ํ๋ฆฌ์นด์
์ญ์
https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/
Replication์ ๋๋ฌด ๋ง์ด ๋ฐ์์ํค๋ฉด ์ค๋ฒํค๋ ๋ฐ์, ์์ปค๋ ธ๋๊ฐ ๋ณต๊ตฌ๋ ์๊ฐ์ ๋ถ์ฌํด์ ๋ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ฒํ๊ธฐ๋ ํจ.
apiVersion: v1 kind: ReplicationController metadata: name: nginx spec: replicas: 3 selector: app: nginx template: metadata: name: nginx labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80
- replicas: ์ ์งํด์ผํ ํฌ๋์ ๊ฐ์
- selector: ๋ ํ๋ฆฌ์ผ์ด์ ์ปจํธ๋กค๋ฌ๊ฐ ๊ด๋ฆฌํ๋ ํฌ๋ ๋ฒ์๋ฅผ ๊ฒฐ์ ํ๋ Label Selector
- template: ํฌ๋ ํฌํ๋ฆฟ
- pod ๋์คํฌ๋ฆฝํฐ ํํ์ ๋์ผํ๊ฒ ์์ฑ
- labels์ key:value์ selector์ key:value๋ฅผ ํต์ผํ์ฌ ์์ฑ
kubectl create -f <replication.yaml>
kubectl get rc
kubectl describe rc <ReplicationController ์ด๋ฆ>
kubectl delete pod <ํ๋๋ค์>
kubectl get pod
: AGE๊ฐ ๋ฐ๋๋๊ฒ์ ํ์ธํ ์ ์์.kubectl edit rc <ReplicationController ์ด๋ฆ>
kubectl delete rc <replicationController ์ด๋ฆ>
: ํ์ Pod๋ค๋ ๋ชจ๋ ์ญ์ ๋จ
kubectl delete rc <replicationController ์ด๋ฆ> --cascade=false
: ํฌ๋๋ ๊ณ์ ์คํ์ ์งํ๊ณ ๋ ํ๋ฆฌ์ผ์ด์
์ปจํธ๋กค๋ฌ๋ง ์ญ์