Google创建了Kubernetes,以帮忙开辟职员更好地跨集群治理其容器化应用程序。只管测试版于2014年发布,但Kubernetes的第一个不变版本于2018年9月推出,以下将先容这个盛行的新工具的基本架构和用途。集群治理的须要性今天的互联网用户不能容忍停机时间,因此开辟职员不得不在不间断办事的环境下找到执行维护和更新的方法。容器或包罗应用程序运行所需的全部内容的隔离情况使开辟职员可以轻松地震态编辑和布置应用程序。因此,容器化已成为打包,布置和更新分布式Web应用程序的首选方法。固然,跨多台计较机治理此类应用程序可能会很快变得复杂,这就是谷歌最先开辟一个开源体系的缘故原由,该体系可以简化跨多个主机的容器化应用程序的“布置,扩展和操作”。Kubernetes许可开辟职员创建和治理物理和虚拟机的“集群”,以便通过共享收集协调互助。Kubernetes的优势Kubernetes减轻了在大规模出产情况中手动治理容器的承担,假如配置正确,Kubernetes可以通过主动化基础架构资源治理为开辟职员节流时间和款项。比方,当实例失败时,Kubernetes会主动从头创建,终极成果是更顺畅的用户体验和更少的应用停机时间,使用Kubernetes带来了进修曲线。Kubernetes集群Kubernetes集群是一个可以或许彼此通讯的容器收集,您可以拥有一个仅在一台计较机上运行的小型集群,或者您可以创建跨多台计较机运行的大型集群。集群中的计较机分配了特定脚色,Kubernetes集群每每包括:主办事器主办事器是首要呆板,负责促进集群的差别组件之间的通讯,主办事器使用所谓的声明性打算,使用可用的基础架构最有用地运行应用程序。节点Kubernetes集群中的其他计较机充当在当地和外部资源的帮忙下执行工作负载的节点,节点通过称为kubelet的署理与主节点通讯,每个节点的设置数据存储在称为etcd的分布式键值存储中。一个容器运行时每个节点必需具有容器运行时(比方Docker)来处置惩罚来自立办事器的指令,Docker的工作固然是创建和治理容器。收集容器需要收集和IP地址以促进通讯,Web开辟人员可以选择几个Kubernetes收集。KubernetesAPI终极用户可以通过主API与集群交互,开辟职员使用名为kubectl的命令行工具节制其容器化应用程序。这些组件一路工作以确保应用程序的所需状况与群集的状况匹配。对象和工作量Kubernetes对象模子提供了原语,许可开辟职员界说工作负载,促进扩展和与对象交互,这些是您将要处置惩罚的首要对象类型和工作负载:Pods容器自己包罗在称为pods的对象中,Pod由一个或多个容器构成,这些容器协同工作并在统一节点上共享生命周期。比方,pod可以包罗运行应用程序办事器的主容器和负责在检测到外部存储库更改时检索文件的帮忙程序容器。Kubernetes集群将每个pod作为一个单位举行治理。复制节制器和集通过界说pod模板和创建副本以分配工作负载,复制节制器和复制集可以实现程度扩展。布置布置是开辟职员直接受理pod的生命周期的高级对象,它们描述了应用程序的所需状况。布置修改后,Kubernetes会主动调解全部副本集,从而可以在不影响应用程序可用性的环境下执行更新。办事Pod只能在其Kubernetes集群中访问,因此要使您的应用程序可用于外部单词,pod必需作为办事公开。Kubernetes办事将相关的pod组合在一路,并将它们作为单个实体出现给终极用户。Kubernetes入门在最先使用Kubernetes创建集群之前,必需先下载并安装几个器材,出于本教程的目标,我们需要:Minikube,一个轻量级的发行版,可让您在当地运行Kubernetes集群像VirtualBox如许的虚拟化软件Kubectl,Kubernetes的号令行客户端像Docker如许的容器运行时创建群集我们将使用Minikube创建一个小型虚拟机,并使用一个节点部署一个集群。1.安装VirtualBox下载VirtualBox并按照操作体系的安装申明举行操作,或者,您可以使用KVM2或您喜欢的任何治理程序。2安装KubectlKubectl是开辟职员与集群交互的方式,您可以在Kubernetes网站上下载kubectl并查找安装申明。3.安装Docker请下载并安装合用于Windows的Docker或合用于Mac的Docker,Linux用户可以查阅Docker文档以查找其分发的安装申明。4.安装Minikube有关配置合用于Windows,Mac或Linux 的Minikube所需的统统,请参阅Minikube文档。5.运行Minikube完成全部配置后,创建群集只需要一个步骤,从号令行输入:minikubestart此刻,要确认您的集群正在运行,请输入:kubectlgetnodes假如操作正确,您应该会看到有关群集的一些信息,比方其状况和版本号。设置Kubectl假如您按照上述步骤安装了Minikube,那么kubectl应该主动设置本身以会见您创建的集群,您可以使用以下号令举行确认:kubectlcluster-info~/.kube/config文件界说了kubectl可以会见的哪些API端点和集群,确定哪个集群kubectl与之交互称为“settingthecontext.”。要检察全部可用上下文,请使用以下号令:kubectlconfiguse-contextminikube您可以使用KUBECONFIG变量更改上下文,假如统统都设置正确,您应该可以或许使用以下号令在欣赏器中打开Kubernetes仪表板:minikubedashboardKubernetes仪表板Kubernetes仪表板会告诉您需要相识的有关群集的全部信息,要确定仪表板是否已启动并运行,请输入以下号令:kubectlgetpods-nkube-system探求以kubernetes-dashboard,开头的条目,在您可以检察仪表板之前,必需运行以下号令来署理API:kubectlproxy此刻,KubernetesAPI将在http://localhost:8001,要在浏览器中打开信息中间,请会见以下网址:http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/创建办事如前所述,pod最初只能通过集群中的内部IP地址会见,为了使您的容器可以在Kubernetes之外会见,必需将容器作为办事公开。Kubernetes办事基本上是一个内部负载均衡器,要公开pod,请使用以下kubectl号令:kubectlexposedeploymenthello-node–type=LoadBalancer–type=LoadBalancer标记让Kubernetes知道您但愿向公众公开该办事,只需替代hello-node应用程序容器的名称即可,您可以使用以下号令检察新创建的办事:kubectlgetservices假如您的云提供商支撑负载平衡器,则可能会为您提供外部IP地址来会见该办事。假如您使用的是Minikube,则–type=LoadBalancer标志可通过minikube办事号令会见您的办事。结论思量到该工具的复杂性和实用性,很难信赖Kubernetes是一个开源工具。不要被看似复杂的架构和令人狐疑的拼写所吓倒,假如您正在跨多台呆板开展大型项目,Kubernetes可以让您的工作更轻松。相关文章推荐OAuth2.0:掩护客户端根据的节点API 掩护服务器客户根据可能很棘手,OAuth2.0是将用户身份验证卸载到其他办事的绝佳方法,但假如没有效户举行身[…]...内联,外部和内部CSS样式之间的区别 有三种方法可觉得网站添加CSS样式:可以使用内部CSS并在HTML文档部门包罗CSS规[…]...Flutter–合用于Android和iOS的全新开源移动应用程序框架 Flutter是一款移动应用程序SDK,用于为Android和iOS构建高机能,高保真度的原生Android和[…]...APPIUM–用于测试的主动化工具 Appium最初由DanCueller开辟,用于操纵AppleiOS的UI主动化框架对本机移动应用程序运行[…]...谈天呆板人开辟框架 Chatbot也被称为IMBot,人工会话实体,谈话呆板人和谈天呆板人。它是一个主动化软件程序,通过音频谈天[…]...Kubernetes教程,基础常识入门
我要评论