Kubernetes 构建工具浅析.docx

上传人:p** 文档编号:1057177 上传时间:2024-06-29 格式:DOCX 页数:9 大小:24.15KB
下载 相关 举报
Kubernetes 构建工具浅析.docx_第1页
第1页 / 共9页
Kubernetes 构建工具浅析.docx_第2页
第2页 / 共9页
Kubernetes 构建工具浅析.docx_第3页
第3页 / 共9页
Kubernetes 构建工具浅析.docx_第4页
第4页 / 共9页
Kubernetes 构建工具浅析.docx_第5页
第5页 / 共9页
Kubernetes 构建工具浅析.docx_第6页
第6页 / 共9页
Kubernetes 构建工具浅析.docx_第7页
第7页 / 共9页
Kubernetes 构建工具浅析.docx_第8页
第8页 / 共9页
Kubernetes 构建工具浅析.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
资源描述

《Kubernetes 构建工具浅析.docx》由会员分享,可在线阅读,更多相关《Kubernetes 构建工具浅析.docx(9页珍藏版)》请在第壹文秘上搜索。

1、KUberneteS兔群的组件众多,要部署一套符合生产环境的集群并不是一件容易的事.不过随着云原生生态的逐渐成熟、社区的快速发展,特别是在它成为事实上的容器编排标准以后,培木所有的主流云平台都完全支持Kubernetes,或把它作为核心的云解决方案。同时,本地部署也伴陋若出现了各类成熟的主动化解决方案.因此,当我们计划或者开始使用KUberneteS时,我们都应该尝试问自己一个问题:“我该如何进行第次的部詈?”.在本文中,爸者将向大家介绍4种不同的技术,大家可以基于此4种不同的构建工具在自己的计算机上使用Kuberneteso对于每一个,空者尽可能都会对解决方案进行简短描述并对其优缺点进行分析

2、以帮助大家能够对Kubernetes的有所了解.MinikUbeMinikUbe是由Kubernetes社区维护的单机版的Kubcrnetes集群,其支持nacOS,1.inux、以及Windows等多种操作系统平台,M于其最新的官方Stable版本,并开始支持Kubernetes的大部分功能,从基础的容器编排管理,到高欲特性如负载均衡、IngreSs,权限拄制等.非常适合作为KUberneteS入门,或开发测试环境使用。MinikUbe支持以下Kubernetes功能:DNS、NodcPortSxConfigMaps和Secrets、Dashboards容器运行时:DockerCRl-O以及

3、Conlainerd、启用CNI(容器网络接口)以及Ingress等等.其架构示意图如卜.所示:CIUSterMiniKubePodPod下面我们以Mac环境为例,简要描述下Minikube相关部署过程,具体如下所示:administrator1.angOutOfMei%binzsh-c11S(curl-fsS1.cunkaiHomebrewCNrawmasterHomebrew.sh)u(administratorJava1.angOutOfMemory%brewinstallminikubeadmiistrator3ava1.agOutOfMemory%zinikubestart当然,我们

4、还可以自定义参数进行启动,具体如下所示:(admiistratorJava1.angOutOfMemory%minikubestart-:/kubernetes.oss-cn-.iso-registrymirrorhttps:/registry.docker- -image-mirror-countrymen- -image-repositoryregi-hangzhou- -vmdrivernone-memory=4096部署完成后,检测相关配笆参数等administrator%kubectlversionclientVersion:version.InfofMajor:1,Minor:21

5、m,GitVersion:mv1.21.2u,GitCommit:Me92fbfbf53427de67cacle9faS4aaa09a28371d7M,GitTreeState:clean,BuildDate:m221-6-16T12:52:14Z1.GoVersion:,gol.16.5,Compiler:gc,Platform:Mdarwin/amd64ServerVersion:version.InfoMajor:lMinor:,20jGitVersion:vl.20.7,GitCommitr132a687512d7fbO58d0F589f07d4121b3f0a2e2,GitTreeS

6、tatezuClean,BuildDate:m221-5-12T12:32:49Z,GoVersion:gol.15.12,Compiler:,gc”,Platform:,linuxamd64)(administrator%kubectlgetnode-owideNAMESTATUSRO1.ESAGEVERSIONINTERNA1.-IPEXTERNA1.-IPOS-IMAGEKERNE1.-VERSIONCONTAINER-RUNTIMEminikubeReadycontrol-plane,masterIShvl.2.7192.168.49.2Ubuntu20.4.21.TS5.1.25-l

7、inukitdocker:administrator%kubectlgetpod-ANAMESPACENAMEREADYSTATUSRESTARTSAGEkube-SystemCorednS74ff55c5b-p6dlz1/1Running0IShkube-Systemeted-minikube1/1Running015hkube-systemkube-apiserver-minikube1/1Running15hkube-systemkube-cotroller-manager-minikube1/1Running0IShkube-Systemkube-proxy-der721/1Runni

8、ngiShkube-systemkube-scheduler-minikube1/1RunningIShkube-Systemstorage-provIsioner1/1Running315hMinikube是一个Kubernetes-SIGs项目,其实现方法为生成一个实质上是单节点K8s集群的VM.由于对一系列管理程序的支持,它可以在所有主要操作系统上使用。还允许并行创建多个实例.基于用户的角度而言,Minikube是一款非常适合初学者的工具.使用minikbestart命令行启动集群,几分钟后Kubectl就可以开始了。若要指定特定的Kubernetes版本,可以使用-Kubernetes

9、version标志参数即可.KindKind即uKubernetesInDocker的缩写,顾名思义是使用Docker容器作为Node并将Kubernetes部署至其中的一个工具,官方文档中也把Kind作为一种本地集群搭建的工具进行推荐.Kind是一个命令行工具,可帮助我们基于Docker潦像创建本地Kubernetes集群,使其能够模拟本地系统上的Kubernetes集群.Kind是另一个KubernetesSlGs项目,但与Minikube相比有很大不同.顾名思义,它将集群移动到Docker容器中.与生成VM相比,这将显著加快启动速度.创建集群与Minikube的方法非常相似.执行类创建集

10、群,通过使用不同的名称(-name)kind,可以并行创建多个实例.其架构示意图如下所示:与Minikube类似,简要描述一下其部署过程,具体如下所示:IadministratorDava1.angOutOfMemory%brewinstallkid=Downloadinghomebrewbott1.esbott1.eskind-0.11.1.btfl1.s11111,aa1a1a1a1IaaaAAaAAIA1,4AaIA1,4AaIA1,上#l.%=Pouringkind-0.11.l.big-sur.bottle.tar.gz=Caveatszshcompletionshavebeenin

11、stalledto:usrlocalsharezshsite-functions三三SummaryusrlocalCellarkind0.11.1:8files,8.4MB(admiistrator3ava1.angOutOfMefnory%kindversionkindv.ll.lgol.16.4damd64接下来,将下面的配置内容保存至一个YAM1.文件中,比如名为kind-config.yaml,具体如下所示:kind:ClusterapiVersion:kind.sigs.k8s.iovlalha3kubeadmConfIgPatches:IapiVersion:kubeadm.k8s

12、.iovlbetalkind:ClusterConfigurationmetadata:name:confignetworking:servicesubnet:10.0.0.1/16imageRepository:google-containersodeRegistratio:kubeletEtraArgs:google-containerspase:3.1apiVersion:kubeadm.k8s.iovlbetalkind:InitConfigurationmetadata:name:confignetworking:ServiceSubnet:10.0.0.1/16imageRepos

13、itory:google-containersnodes:control-plane(administPatorJava1.angOutOfMemory%Kindcreatecluster-namedemo-cis-configkind.yamlCreatingclusterkindEnsuringnodeimage(kindest/node:vl.21.1)EaPreparingnodesSCreatingkubeadmconfigBStartingcontrol-planeGKlustercreationcomplete.Youcannowusetheclusterwith:exportK

14、UBECONFIGv(kindgetkubeconfig-path-name=mdemo-c1s,),kubect1cluster-info基于此解决方案,允许我们部罟所有类型的集群:例如:单节点、1个Master和几个Worker以及多个MaSter和多个Worker,不仅如此,这些集群非常容易部罟.通常可以借助一个非常简单的YAM1.文件完成.从本质上而言,Kind并不是打包一个虚拟化镜像,而是直接将基于K8S组件运行在Docker环境。那么,此种模式能够带来了哪些好处呢?具体主要涉及以下方面:1.不需要运行GuestOS,占用资源更低.2、不基于虚拟化技术,可以在VM中使用.3、文件更小,更利于移植.K3s基于其简单性.作为一个单一的二进制文件(约100MB)进行打包和部雪,我们只需几秒钟就可以得到一个完全成熟的Kubernetes集群.安装体验就像在集群的每个节点上运行一个脚本一样简单.基于其二进制文件封装实体,K3s几乎运行了Kubernetes集群的所有组件,包括APIserver.Scheduler和Controller.默认情况下,每个K3s的安装都包

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 通信/电子 > 室内分布

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!