매번 감사합니다. 전공자 출신 개발자라 대학강의, 기업강의, 온라인강의등 많은 강의를 들어 왔는데 가장 알기 쉽게 설명해주시는 것 같아요. 쉽고 빠르게 기본을 배우기에 매우 좋은 강의라고 생각합니다. 얼마나 열심히 준비하시고 강의에 임하고 계시는지 안봐도 알 것 같네요. 정말 감사드립니다☺️
안녕하세요. 덕분에 개념 팍팍되고있습니다. rolling update시 set image명령어가 아닌 yaml 을 직접 변경하는 경우는 yaml파일을 남겨둘수있어 좋다고 하셨는데 yaml파일말고 직접 kubectl edit로 변경해도 동일한 rolling update가 되는거지요? 그리고 yaml파일 안남겨둬도 어차피 -o yaml 옵션으로 조회하면 야믈파일 남겨두는거랑 동일한건 아닌지요? 감사합니다~
kubectl edit로 변경해도 동일하게 rolling update 됩니다. 다만, rolling update 진행시 기록하는 history 정보가 안남겨집니다. 롤링업데이트는 히스토리 기록을 통해 undo 할수 있어야하니 yaml 변경해서 적용하거나, kubectl set image명령을 이용해야 합니다.
좋은 강의 항상 감사드립니다!ㅎㅎ 공부를 하면서 궁금한게 생겼는데요 이전 수업에서 Pod 생성시 yaml파일에 metadata: name: nginx-pod 이런 식으로 Pod 이름을 지정하여 생성해줄 경우 kubectl get pods를 했을 때 해당 Pod의 이름이 nginx-pod로 떴었는데 RC나 RS에서는 Deployment와 RC, RS 정보가 Pod 이름에 붙어야하기 때문에 template의 metadata에 name을 nginx-pod로 지정해줘도 Pod이름이 nginx-pod로 생성되지 않는 건가요? 그래서 수업 뒷부분에 나온 apply적용했던 yaml파일에도 template의 metadata에는 name을 지정하지 않고 labels에만 name을 지정한 건지 궁금합니다. 추가로 matadata에 지정하는 name과 labels의 name의 차이점도 궁금합니다. 감사합니다!
이거 찍을때 새벽 4시쯤 되었을때인가 보네요. 표정이 ㅋㅋㅋ 엄청 피곤해보입니다. ㅎ 화내면서 강의하는듯...보이나 절대 그렇지 않습니다. ㅋ 양해 부탁드려요. ㅋㅋㅋ
새벽 4시...ㅜㅜ
감사합니다. 조금도 듣기에 불편한 점 없었어요^^
이렇게 좋은 강의를 들을 수 있는 게 항상 감사할 따름입니다ㅎㅎㅎ
@@jiji8212 네. 고맙습니다. 얼굴 표정이 별루에요. ㅎㅎ
매번 감사합니다.
전공자 출신 개발자라
대학강의, 기업강의, 온라인강의등 많은 강의를 들어 왔는데
가장 알기 쉽게 설명해주시는 것 같아요.
쉽고 빠르게 기본을 배우기에 매우 좋은 강의라고 생각합니다.
얼마나 열심히 준비하시고 강의에 임하고 계시는지 안봐도 알 것 같네요.
정말 감사드립니다☺️
힘되는 말씀 고맙습니다. 도움되신다니 더 열심히 찍고 싶어지네요. ^^ 꼭 완주하시길 기도합니다.
따배 따봉! 👍
다음 강의도 기다려집니다ㅎㅎㅎ
드라마 기다리 듯이 기다려지네요^^
감사합니다~~
와~ 너무 고맙습니다. ^^
이렇게 사랑스러운 컨텐츠가 있다니, 너무 사랑합니다.
고맙습니다. 더 체계화된 교육은 www.weplat.site 에서 준비중입니다.
감사합니다
도움되는 강의되길 바랍니다.
감사합니다 잘 보고있습니다!!
[이성미 강사님]
네. 저도 고맙습니다.
선생님 항상 감사한 마음으로 시청하며 따라 배우고있습니다.
[이성미 강사] 저도 감사드립니다
👌여전히 잘보고 있습니다. 😊
저또한 주신 글에 힘을 얻고 있습니다. ^^ 은근 소통의 재미가 있네요. 늦게배운 도둑질에 날새는줄 모른다던데.. 큰일이네요. ㅋㅋ
2024.01.25 수강완료. 감사합니다.
감사합니다 !
[이성미 강사] 저 또한 감사드립니다. 도움되길 바랍니다.
좋은 강의 홍보 좀 하겠습니다.
제일 듣고 싶은 말입니다. 강의 하는 사람은 많은 분들에게 도움되었다는 말이 젤루 기쁜 말이죠~^^ 거기에 추천까지.. 힘이 나네요. ㅎㅎ 고맙습니다.
maxsurge, maxunavailable 평소에 무슨뜻인지 감이 잘 안잡혔는데 설명해주시는거 듣고 바로 이해가 갔습니다 설명을 정말 쉽게 잘하시네요~
3개의 25%면 0.75니까 배포시 함께 공존하는건 1개다 (3+1)
쉽게 잘 이해해주신듯요~ ^^ 고맙습니다.
selector:
matchLabels:
app: main
app: main
rel: stable
template:
metadata:
labels:
name: apache
app: main
rel: stable
이렇게 셀렉터에도 라벨 3개 넣었는데 이렇게하는게 아닌가여?? 작동은 잘됩니다.
오늘도 1빠^^ 좋은하루되세요
매번 너무 고맙습니다. 1빠~~ ^^ 더 가치있는 영상으로 보답하겠습니다.
안녕하세요. 덕분에 개념 팍팍되고있습니다. rolling update시 set image명령어가 아닌 yaml 을 직접 변경하는 경우는 yaml파일을 남겨둘수있어 좋다고 하셨는데 yaml파일말고 직접 kubectl edit로 변경해도 동일한 rolling update가 되는거지요? 그리고 yaml파일 안남겨둬도 어차피 -o yaml 옵션으로 조회하면 야믈파일 남겨두는거랑 동일한건 아닌지요? 감사합니다~
kubectl edit로 변경해도 동일하게 rolling update 됩니다. 다만, rolling update 진행시 기록하는 history 정보가 안남겨집니다. 롤링업데이트는 히스토리 기록을 통해 undo 할수 있어야하니 yaml 변경해서 적용하거나, kubectl set image명령을 이용해야 합니다.
좋은 강의 항상 감사드립니다!ㅎㅎ 공부를 하면서 궁금한게 생겼는데요 이전 수업에서 Pod 생성시 yaml파일에 metadata: name: nginx-pod 이런 식으로 Pod 이름을 지정하여 생성해줄 경우 kubectl get pods를 했을 때 해당 Pod의 이름이 nginx-pod로 떴었는데 RC나 RS에서는 Deployment와 RC, RS 정보가 Pod 이름에 붙어야하기 때문에 template의 metadata에 name을 nginx-pod로 지정해줘도 Pod이름이 nginx-pod로 생성되지 않는 건가요? 그래서 수업 뒷부분에 나온 apply적용했던 yaml파일에도 template의 metadata에는 name을 지정하지 않고 labels에만 name을 지정한 건지 궁금합니다.
추가로 matadata에 지정하는 name과 labels의 name의 차이점도 궁금합니다.
감사합니다!
안녕하세요. 이성미입니다.
1. POD 이름
- pod api를 실행시 pod이름 사용
- deploy, rc를 통해 pod 실행시 deploy/rc이름 사용
2. Labels: 는 별도로 pod를 분류하고 관리할 목적으로 사용
입니다.
@@ttabae-learn 감사합니다!
다른 콘트롤러 강의도 듣고 싶어요
[밍밍] 안녕하세요! 편집자 밍밍입니다 :)
다음 컨트롤러 강의는 2월 6일 업로드 예정에 있습니다.
감사합니다!
221009 수강완료!
이성미강사입니다. 쵝오👍
현재 kubectl create -f deployment-exam1.yaml --record에서 --record 옵션이 삭제된거같아요!
없어도 history 보면 --record=true로 나옵니다
지금은 삭제되지 않았고, 차후 버전부터는 삭제될 예정이네요. 대신 annotation 사용하세요. 영상에 있습니다.
rollout 할 때, 특정 버전으로 돌아가는 방법은 혹시 어떻게 되나요? 제가 놓쳤는지,,, 잘 모르겠네요 ㅠㅠ
[이성미 강사] 수업에 있습니다. kubectl rollout undo deployment deploy_name 입력하면 됩니다.
@@ttabae-learn 감사합니다~ 좀 더 집중해서 봐야겠군요 ㅠㅠ.. 올려주시는 영상 기다리고 있습니다. 남은 강의도 잘부탁드립니다
[문제풀이]
1. kubectl apply -f dep-lab.yaml
dep-lab.yaml 내용
apiVersion: apps/v1
kind: Deployment
metadata:
name: dep-mainui
annotations:
kubernetes.io/change-cause: version 2.2
spec:
progressDeadlineSeconds: 600
revisionHistoryLimit: 10
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavilable: 25%
type: RollingUpdate
replicas: 2
selector:
matchLabels:
app: main
template:
metadata:
labels:
name: apache
app: main
rel: stable
spec:
containers:
- name: web
image: httpd:2.2
ports:
- containerPort: 80
2. kubectl apply -f dep-lab.yaml
dep-lab.yaml 내용 : 1번의 dep-lab.yaml 파일에서 annotation 과 image version 만 2.4 로 바꿔주면 됩니다.
3. 히스토리확인 : kubectl rollout history deployment dep-mainui
rollback : kubectl rollout undo deployment dep-mainui
4. kubectl describe pod dep-mainui-59877787b9-lrvfh
롤백 되어서 2.2로 확인됩니다.
항상 감사합니다. "미래가 오늘이다!!"
[이성미 강사] 오~ 잘하셨네요... ~~^^
apiVersion: apps/v1
kind: Deployment
metadata:
name: dep-mainui
annotations:
kubernetes.io/change-cause: version 2.2
spec:
progressDeadlineSeconds: 600
revisionHistoryLimit: 10
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
replicas: 2
selector:
matchLabels:
app: main
template:
metadata:
labels:
name: apache
app: main
rel: stable
spec:
containers:
- name: apache-container
image: httpd:2.2
ports:
- containerPort: 80
[이성미 강사] 오. 포인트 확실히 잡고 구성하셨네요. 잘하셨어요~^^
matchLabels:
app: main
인 이유가 무엇인가요?
@@ben-hn5vl 문제에서 제시한 동작 조건 입니다.