kindͰ࡞ΔϩʔΧϧk8s։ൃڥ2020/1 @sinohara
View Slide
TL;DR• kubernetesॳֶऀͷෑډ͕૬มΘΒͣߴ͍• kinddocker͕ಈ͘ڥ͑͋͞Εkubernetesڥ͕࡞ΕΔͷͰ͓קΊ
Kenta Shinohara @ NSݚN੍PωࣜDP• ΫϥυωΠςΟϒNFVج൫ͷݚڀɾ։ൃ• 1/31 NTT Tech Conference #4ͰLT͠·ͨ͠Copyright©2020 NTT Corp. All Rights Reserved. NTT Tech Conf#4 @2020/1/31 1
ຊͷ͓ɿϩʔΧϧk8sڥ• k8s৮ͬͨ͜ͱ͋Δਓʁ• ͓ࢼ͢͠Δʹk8sڥͬͯͬͺΓෑډ͕ߴ͍
ϚωʔδυαʔϏεʁ• ߏஙʹ20͔͔Δ• ߴ͍($72/݄~)• 5͘Β͍Ͱߏஙग़དྷΔ• ߴ͍($24/݄)
ϩʔΧϧ k8sʁ • minikube• hypervisorϕʔε• Virtual box, hyperkit, parallels, vmware,etc…• 2vCPU / 2GB mem• γϯάϧϊʔυΫϥελ• master/workerಉډߏ• ͏গͪ͠ΌΜͱͨ͠ڥ͕ཉ͍͠ɾɾ
kind : kubernetes in docker• dockerίϯςφ্Ͱmulti-node clusterڥΛ࡞Δߏஙπʔϧ
how to use kindkind-config.yml
how to use kind
kind architecureServerdocker docker dockerKube-apiserverKube-controllerKube-scheduleretcdkube-proxycorednsImage: kindest/node:v1.17.0kind.cluster: testkind.role: control-planeImage: kindest/node:v1.17.0kind.cluster: testkind.role: workerImage: kindest/node:v1.17.0kind.cluster: testkind.role: workerKubeletkube-proxyKubelet Kubeletkube-proxycni: kindnetcni: kindnet cni: kindnetEPDLFS CSJEHFίϯςφͷJQSPVUFJQUBCMFTΛཧ
ࢀߟɿπʔϧൺֱ• kind• minikube virtualbox• minikube hyperkitkindMinikubevirtualboxMinikubehyperkitStart-up time[sec]82 133.65 141.14CPU% 25 30 20Memory [MiB] 622 2071* wired down pages2615nodeMaster x1worker x2Single node Single nodeenvironment: MacBook Pro 2017, CPU: Intel Core i5 2.3GHz, Memory: 16GB
ࢀߟɿkindnet-cni
kindΛ͑ɾɾ• dockerڥ͑͋͞Εk8sڥΛϩʔΧϧͰ࡞ΕΔʂ• minikubeΑΓಈ࡞͕ͯܰ͘ྔʂ• multi-nodeڥͰ༡Δʂ
kind architecure ;ͨͨͼServerdocker docker dockerKube-apiserverKube-controllerKube-scheduleretcdkube-proxycorednsImage: kindest/node:v1.17.0kind.cluster: testkind.role: control-planeImage: kindest/node:v1.17.0kind.cluster: testkind.role: workerImage: kindest/node:v1.17.0kind.cluster: testkind.role: workerKubeletkube-proxyKubelet Kubeletkube-proxycni: kindnetcni: kindnet cni: kindnetEPDLFS CSJEHFfrontend Pod frontend Podfrontend PodRedis-master PodRedis-slave Pod Redis-slave Podgithub/kubernetes/examples/guestbook
docker psKubernetes resourceϗετ͔Β1PEʹ౸ୡ͢Δܦ࿏͕ແ͍
kubefwd• https://github.com/txn2/kubefwd• kubectl port-forwardΛ·ͱΊ࣮ͯߦͯ͘͠ΕΔπʔϧ
Takeaways• kind+kubefwdΛͬͨk8s։ൃڥͷհ• ҎԼͷ੍͋Δ͚ͲେମͷέʔεOK?• kubectl port-forwardUDPඇରԠ• localͰϏϧυͨ͠ίϯςφΠϝʔδ`kind load`ίϚϯυͰk8sίϯςφʹΠϝʔδసૹ͢Δඞཁ͋Γ