월 66,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
프로메테우스와 EFK 에 대해..
안녕하세요 강의 재밌게 보고있습니다. 프로메테우스에서는 노드별 메모리, CPU 사용량이 보이는 것 같은데 EFK에서는 docker log 만 수집해서 그런지 노드별 CPU 및 메모리 모니터링 로그는 없는 것 같아서요 보통 업계에서는 프로메테우스랑 EKF 를 같이 사용하나요? 아니면 EKF에서도 로그가 있는데 제가 못 찾는 건지 아니면 별도로 추가를 하면 가능한 지 인사이트를 주시면 감사하겠습니다~! 추가로 웹서버를 운영할 계획인데요 url 로그를 stdout으로 내보내서 EFK로 쌓는 방식을 많이 사용하는지 궁금합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
질문있습니다 선생님
몇일간 계속해서 고민해보고 찾아봤는데 정리가 안되서 질문드립니다. ㅠㅠ 큰틀로 이해하자면 이렇게 이해하면 되는건가요? 1. 서비스 어카운트 -> 포드에서 사용하기위한 계정 1-1 . 두가지 방법 존재 : (스태틱 토큰) 과 (서비스 어카운트) 방식 1-2. kubeDashboard 포드처럼 관리자 권한을 가지는 계정이있어야 리소스들을 들고올수있고 조회가 가능했다는것을 배움 2. config 로 클러스터와 유저, 컨텍스트에 정의함으로서 클러스터에 접근을 하기위해서 사용 3. RBAC로 해당 sa 나 config-context 에 권한을 정의함가능 3. k8s에서는 기본적으로 TLS 인증방식을 지원한다. 외부 client에서 1번(sa) 2번(config) 같은 리소스를 생성을 요청 하기위해서는 apiserver에 접근을 해야하기때문에 TLS를 배우고 생성했다. 가 되는건가요..?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
PDF파일에 있는 소스 코드 링크 권한
notion페이지 링크를 접속하면 권한이 없다고 나옵니다. 공개로 해 주셔야 할 것 같습니다. https://www.notion.so/gasbugs/main go fdce9b0e3f70488f9634fca73350da13 제가 PDF 그대로 작성을 하였지만 아래와 같은 오류가 발생하고 있습니다. ./prog.go:21:6: syntax error: unexpected main, expecting ( PDF참고하여 지속적으로 확인해 보았지만 마지막 main() 구문에서 어떤 부분이 잘못 됐는지를 모르겠습니다. package main import ( "fmt" "github.com/julienschmidt/httprouter" "net/http" "log" "os" ) func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {hostname, err :=os.Hostname() if err == nil { fmt.Fprint(w, "Welcome! " + hostname + "\n" } else { fmt.Fprint(w, "Welcome! ERROR\n") } { func main() { router := httprouter.New() router.GET("/", Index) log.Fatal(http.ListenAndServe(":8080", router)) }
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
발표 문서(ppt)는 다운로드 방법
안녕하세요. 발표 문서(ppt)는 어디에서 다운로드 가능할까요? 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ingress, service 등 어플리케이션을 외부로 오픈할때요
강의 잘보구있습니다 예제 실습하면서 궁금한점이 하나생기는데요 클라우드 환경이 아닌 온프레미스환경에서 쿠버네티스를 구축하여 외부로 오픈할때요 80, 443 포트로 ingress-nginx를 오픈 하거나 service/ingress-nginx-controller nodeport를 고정적으로 하는 방법이 잇나요? 예를 들어 L4, L7에서 인입을할때 ingress-nginx-controller 노드포트가 바뀌거나 다른게 할당되면 문제가 발생할수 있을거 같기도하고... 스위치 없는 단독 테스트서버를 구성하는경우엔 80,443포트를통해 서버를 구성할 수 없는지요? ingress-nginx를 쓰지않고 쿠버네티스 클러스터 앞단에 nginx를 두고 Service 타입을 nodeport로 생성한후 upstream설정에 worker노드별 ip,port를 설정하고 reverse-proxy로 사용할수도 있을거 같은데... 이러면 ingress 사용하는것과 차이가 있느지요?? 실무에서 어떤식으로 사용되는지가 궁금하네요
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
맥북에서 kubeadm 질문입니다!
안녕하세요 강사님!! 강의 잘 듣고 있습니다!!! 다름이 아니라 맥북에서는 kubeadm 명령어가 지원이 안되는거같아서요! 맥북에서 kubeadm 을 사용하려면 어떻게해야할까요? (homebrew로 다운 받을수있나 했지만 안되는것같습니다!!)
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
istio 강의가 중간에 짤린 것 같습니다.
안녕하세요. 좋은 강의 잘 듣고 있습니다. 섹션8(서비스 매쉬 환경 모니터링 도구 istio 시작하기)에서 두 번째 강의 "istio 설치와 적용" 가 중간에 짤린 것 같습니다. 해당 강의에서 6번 내용을 설명 중 갑자기 종료가 되고 그 다음 강의는 8번 내용부터 설명이 시작됩니다. 확인 부탁드립니다. 감사합니다.
- 데브옵스(DevOps)를 위한 쿠버네티스 마스터
GCP, 쿠버네티스 질문입니다!!
삭제된 글입니다
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
AWS EKS 사용법도 만들어주실 수 있나요?
강의 신청부터 하고 질문 남깁니다^^; 저는 AWS EKS를 이용하여 서비스 운영을 해보려고해요, 혹시 EKS 강의도 올려주실 수 있을까요? 혹은 강의 다 보고 실습하면 EKS 셋팅 정도는 수월하게 할 수 있을지 궁금합니다!!
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ingress nginx 관련 질문입니다.
일반적으로 ingress --- svc(NodePort) --- pod로 연결 되는 구조로 되어 있는 걸로 이해하는데 지금 실습은 ingress를 만들고 다시 node의 IP로 접속을 하는데 실제.....그냥 인그레스 없이 노드 포트로 연결 된 것과 차이를 모르겠습니다. 원래 SVC앞단에 인그레스가 와야 하는것이 아닌지요??
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
nginx ingress관련 링크가 없습니다.
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 데브옵스(DevOps)를 위한 쿠버네티스 마스터
pdf 링크
삭제된 글입니다
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
몇가지 궁금한점이 있습니다.
1. 이미지를 빌드할때 파이썬 3점대 라이브러리도 함께 빌드 되는건가요?? 2. 포트번호 설정시 -P 8080:8080 이런식으로 주는데 검색해보니 8080은 HOST에서 서비스할 포트번호이고 뒷부분의 8080은 도커에서의 포트번호라고 합니다. 8080:1234 로 포트번호 지정하면 8080으로 서비스 요청을 받되 컨테이너의 1234포트로 요청을 보내는 형식으로 처리?된다고 생각하고있습니다. 포트포워딩같은 개념으로 이해하면될까요?? 좋은 강의 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
자료실 관련
자료실 어떻게 가야 하나요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
마지막 쿠버네티스 구성 관련
실무처럼 kubectl 을 클러스터 노드 밖에 꺼내서 사용하는 환경이 만들기 어려워서 그런건가요? 테스트 환경에서는 왜 마스터 노드에서 같이 하는건지궁금해서 여쭈어 봅니다
- 데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubeadm 관련 질문입니다!
삭제된 글입니다
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
쿠버네티스 클러스터 구축시 CRI 에러
[preflight] Running pre-flight checks. [preflight] Some fatal errors occurred: [ERROR CRI]: unable to check if the container runtime at "/var/run/dockershim.sock" is running: fork/exec /usr/bin/crictl -r /var/run/dockershim.sock info: no such file or directory [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...` centos7 환경에서 했구요 vm으로 구축중입니다 kubeadm join 을 워커노드 만들려고 하는 곳에 했는데 이런 에러가 발생 합니다 로그는 워커노드에서 복사한것입니다 --ignore 옵션을 줘서 했는데 마스터노드에서 kubectl get nodes 를 했을때 worker노드가 안나와서 이 문제를 해결해야될거 같아서 질문합니다 일단 kubelet 했을때 에러가 I0625 11:25:10.209563 4571 feature_gate.go:226] feature gates: &{{} map[]} W0625 11:25:10.214818 4571 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d I0625 11:25:10.235874 4571 server.go:376] Version: v1.10.0 I0625 11:25:10.235929 4571 feature_gate.go:226] feature gates: &{{} map[]} I0625 11:25:10.236103 4571 plugins.go:89] No cloud provider specified. W0625 11:25:10.236145 4571 server.go:517] standalone mode, no API client W0625 11:25:10.266236 4571 server.go:433] No api server defined - no events will be sent to API server. I0625 11:25:10.266260 4571 server.go:613] --cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to / I0625 11:25:10.266507 4571 container_manager_linux.go:242] container manager verified user specified cgroup-root exists: / I0625 11:25:10.266519 4571 container_manager_linux.go:247] Creating Container Manager object based on Node Config: {RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: ContainerRuntime:docker CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:cgroupfs KubeletRootDir:/var/lib/kubelet ProtectKernelDefaults:false NodeAllocatableConfig:{KubeReservedCgroupName: SystemReservedCgroupName: EnforceNodeAllocatable:map[pods:{}] KubeReserved:map[] SystemReserved:map[] HardEvictionThresholds:[{Signal:memory.available Operator:LessThan Value:{Quantity:100Mi Percentage:0} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.1} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.inodesFree Operator:LessThan Value:{Quantity:<nil> Percentage:0.05} GracePeriod:0s MinReclaim:<nil>} {Signal:imagefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.15} GracePeriod:0s MinReclaim:<nil>}]} ExperimentalQOSReserved:map[] ExperimentalCPUManagerPolicy:none ExperimentalCPUManagerReconcilePeriod:10s ExperimentalPodPidsLimit:-1 EnforceCPULimits:true} I0625 11:25:10.266628 4571 container_manager_linux.go:266] Creating device plugin manager: true I0625 11:25:10.266672 4571 state_mem.go:36] [cpumanager] initializing new in-memory state store I0625 11:25:10.266735 4571 state_mem.go:87] [cpumanager] updated default cpuset: "" I0625 11:25:10.266749 4571 state_mem.go:95] [cpumanager] updated cpuset assignments: "map[]" W0625 11:25:10.269731 4571 kubelet_network.go:139] Hairpin mode set to "promiscuous-bridge" but kubenet is not enabled, falling back to "hairpin-veth" I0625 11:25:10.269757 4571 kubelet.go:556] Hairpin mode set to "hairpin-veth" I0625 11:25:10.271450 4571 client.go:75] Connecting to docker on unix:///var/run/docker.sock I0625 11:25:10.271468 4571 client.go:104] Start docker client with request timeout=2m0s W0625 11:25:10.272624 4571 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d I0625 11:25:10.276863 4571 docker_service.go:244] Docker cri networking managed by kubernetes.io/no-op I0625 11:25:10.287597 4571 docker_service.go:249] Docker Info: &{ID:2WIO:IMHB:ODVY:WZQO:O2HO:LBN5:WS6G:HGBI:Q2VE:LKYE:PD4P:UIOZ Containers:0 ContainersRunning:0 ContainersPaused:0 ContainersStopped:0 Images:9 Driver:overlay2 DriverStatus:[[Backing Filesystem xfs] [Supports d_type true] [Native Overlay Diff true]] SystemStatus:[] Plugins:{Volume:[local] Network:[bridge host macvlan null overlay] Authorization:[] Log:[]} MemoryLimit:true SwapLimit:true KernelMemory:true CPUCfsPeriod:true CPUCfsQuota:true CPUShares:true CPUSet:true IPv4Forwarding:true BridgeNfIptables:true BridgeNfIP6tables:true Debug:false NFd:16 OomKillDisable:true NGoroutines:46 SystemTime:2020-06-25T11:25:10.279440086+09:00 LoggingDriver:journald CgroupDriver:systemd NEventsListener:0 KernelVersion:3.10.0-1062.18.1.el7.x86_64 OperatingSystem:CentOS Linux 7 (Core) OSType:linux Architecture:x86_64 IndexServerAddress:https://index.docker.io/v1/ RegistryConfig:0xc4206e09a0 NCPU:2 MemTotal:2405302272 GenericResources:[] DockerRootDir:/var/lib/docker HTTPProxy: HTTPSProxy: NoProxy: Name:k8s-node1 Labels:[] ExperimentalBuild:false ServerVersion:1.13.1 ClusterStore: ClusterAdvertise: Runtimes:map[docker-runc:{Path:/usr/libexec/docker/docker-runc-current Args:[]} runc:{Path:docker-runc Args:[]}] DefaultRuntime:docker-runc Swarm:{NodeID:m2c9t50qh7aa0yopj7inyr4zu NodeAddr:192.168.0.54 LocalNodeState:pending ControlAvailable:false Error: RemoteManagers:[{NodeID:kjtuefhbkp88pi4ln1h6aog8s Addr:192.168.0.53:2377}] Nodes:0 Managers:0 Cluster:0xc4206d08c0} LiveRestoreEnabled:false Isolation: InitBinary:/usr/libexec/docker/docker-init-current ContainerdCommit:{ID: Expected:aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1} RuncCommit:{ID:66aedde759f33c190954815fb765eedc1d782dd9 Expected:9df8b306d01f59d3a8029be411de015b7304dd8f} InitCommit:{ID:fec3683b971d9c3ef73f284f176672c44b448662 Expected:949e6facb77383876aeff8a6944dde66b3089574} SecurityOptions:[name=seccomp,profile=/etc/docker/seccomp.json]} F0625 11:25:10.287744 4571 server.go:233] failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd" 가 나와서 1. /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 에 Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd“ 추가 하고 systemctl show --property=Environment kubelet | cat 확인 후에 했는데도 에러가 나와서 다른 곳은 systemd로 수정했는데도 다르다고 나오기도하고 cri에러와 kubelet에 에러가 나와서 질문 합니다 .
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
containerPort 에 대해 질문있습니다.
도커 실습때도 궁금했던 건데요, Q1. 컨테이터포트는 이미지에 따라 이미 정해져 있는것으로 보이는데 맞나요? 젠킨스는 8080으로 정해져 있는거죠? Q2. 그렇다면 이미 정해져 있는 포트 번호를 왜 굳이 매니페스트에 명기 하는 건가요? 궁금해서 containerPort를 9000으로 주고 해봤는데, 젠킨스 내에서 여전히 8080만 유효했습니다. 아무런 변화도 줄수 없는 값을 왜 명기해야 하나요? 꼭 알려주셨으면 좋겠습니다. 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
실습 커맨드 참고 자료 공유부탁드립니다.
안녕하세요. 미리 만들어주신 실습 커맨드 자료는 어디에 위치해 있는지 알수있을까요?
- 데브옵스(DevOps)를 위한 쿠버네티스 마스터
설치 오류
삭제된 글입니다