云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云主机_斗罗大陆动漫百度云资源_免费6个月

小七 141 0

伊斯蒂奥使用Istio和Auth0保护Kubernetes集群了解如何使用Istio(一种流行的开源服务网格)和Auth0保护Kubernetes集群。

DR:在本文中,您将学习如何使用Istio和Auth0保护Kubernetes集群(以及运行在该集群上的应用程序)。首先,您将创建一个全新的集群;然后部署一个不安全的示例应用程序;然后,在测试部署之后,您将学习如何使用Istio和Auth0保护此应用程序及其pods。作为参考,您可以在这个GitHub存储库中找到这个应用程序。"了解如何使用Istio和Auth0保护microservices应用程序。"在推特上留言前言安全性是每个应用程序中最重要的方面。无法保护你的应用程序和用户的身份可能非常昂贵,并可能使客户和投资者对你提供高质量服务的能力失去信心。这就是为什么在开发应用程序时,严格遵循标准和最佳实践至关重要。幸运的是,像Auth0、azuread、Facebook和Google这样的大公司可以通过充当应用程序的身份提供者来简化这项任务。这些公司在提高安全性的同时,还带来了用户无需创建另一组凭据即可轻松登录到您的应用程序的好处。现在,当涉及到微服务体系结构时,如果您决定在每个微服务上实现身份验证和授权,则会更加困难。如果您最终使用不同的堆栈来构建这些微服务,那么这个场景可能会变得更加麻烦。对于每一个堆栈,您将有一组不同的最佳实践和库来实现(甚至可能是编写),增加了漏洞的表面区域,并消耗了公司资源,这些资源可以投资于提供业务价值。你不想那样,对吧?要解决这个问题,您将了解Istio以及如何将其与Auth0集成。正如您将看到的,通过使用Istio提供的身份验证功能之一,您可以轻松地避免此问题,并且只需一次保护您的应用程序。先决条件在开始了解Istio以及如何使用它之前,您必须拥有Kubernetes集群的管理员访问权限。为了得到一个,你可以选择像Google Kubernetes Engine(GKE)、Azure Kubernetes服务、Amazon Elastic Kubernetes服务(Amazon EKS)、OpenShift Kubernetes或DigitalOcean上的Kubernetes。所有这些提供商都有成熟的实现,然而,DigitalOcean是最容易入门的,而且在很长一段时间内都是免费的。为了避免在先决条件上花费太多时间,如果您还没有Kubernetes群集可供您使用,您可以使用此推荐链接获得100美元,60天的信用额度,用于DigitalOcean资源。有了这个数量,您将能够运行新的Kubernetes集群500小时以上(即20天以上)。除了集群之外,还必须安装kubectl和Helm(Kubernetes的包管理器)。接下来的三个小节将向您展示如何配置所有配置。在数字海洋上创建Kubernetes集群如果您已经有一个将要使用的Kubernetes集群,那么可以跳过这一部分。否则,请按照此处的说明在DigitalOcean上创建Kubernetes集群。首先,你必须使用前面提到的推荐链接。如果你不使用推荐链接,你将从一开始就付费。使用此链接在DigitalOcean上创建帐户后,您将收到一封确认电子邮件。使用发送给您的链接来确认您的电子邮件地址。确认您的地址后,DigitalOcean会向您索要信用卡。别担心这个。如果你的花费不超过100美元,他们不会向你收取任何费用。在输入了有效的信用卡之后,您可以使用下一个屏幕来创建一个项目,或者您可以使用此链接跳过这个不必要的步骤,转到Kubernetes仪表板。在撰写本文时,DigitalOcean正在向Kubernetes提供有限访问计划。如果仍然是这样的话,不用担心,这个提议对于本教程来说已经足够强大了。在这个屏幕上,您可以点击Createakubernetes集群按钮。然后,DigitalOcean将向您显示一个新页面,其中包含一个表单,您可以这样填写:选择一个Kubernetes版本:本文中的说明是用1.13.1-do.1版本测试的。如果您想测试其他版本,请放心继续。告诉我们进展如何。选择一个数据中心区域:可以随意选择您喜欢的任何区域。添加节点池:确保只有一个节点池,选择了每个节点每月40美元的选项,并且有三个节点。Istio消耗大量的资源,因此,您需要一个健壮的集群。添加标签:不用担心标记任何东西。选择一个名称:您可以为集群命名任何您想要的名称(例如,"istio tutorial")。只需确保DigitalOcean接受该名称(例如,名称不能包含空格)。填写完此表单后,您可以单击CreateCluster按钮。在几分钟内(大约4分钟),DigitalOcean将为您完成集群的创建。安装和配置Kubectl如前所述,除了Kubernetes集群之外,您还需要在本地机器中使用kubectl来控制这个集群。如果您不知道,这个工具是一个命令行界面(CLI)工具,它使您能够从终端轻松地管理Kubernetes集群。要安装kubectl,您可以查看官方文档,并按照自己操作系统的说明进行操作。之后,您必须等到DigitalOcean创建了集群,然后才需要下载集群的配置文件。此文件包含充当群集管理员所需的凭据,您可以在群集的仪表板上找到它。如果您在集群列表中选择新集群,您将看到它的仪表板,如果您滚动到底部,则会看到一个名为Download Config File的按钮。单击此按钮下载配置文件。下载完此文件后,打开一个终端并将文件移动到home dir中的.kube目录(您可能需要创建它):#确保。库比存在mkdir~/.kube#将配置文件移到其中mv~/下载/istio教程-库贝配置.yaml~/.kube公司如果需要,请使用下载文件的正确路径调整最后一个命令。~/.kube目录是保存Kubernetes凭据的好地方。默认情况下,kubectl将使用名为config的文件,如果它在.kube目录中找到一个文件。要使用不同的文件,您有三种选择:首先,可以通过在kubectl命令中使用--kubeconfig标志指定另一个文件,但这太麻烦了。其次,您可以定义KUBECONFIG环境变量,以避免一直输入--KUBECONFIG。第三,在同一个配置文件中合并上下文,然后可以切换上下文。第二个选项,设置KUBECONFIG环境变量,是最简单的方法,但是如果您愿意,可以选择其他方法。要设置此环境,可以发出以下命令:export KUBECONFIG=~/.kube/istio教程-库贝配置.yaml注意:文件路径可能不同。确保上面的命令包含正确的路径。请记住,此命令将仅将此环境设置为此终端会话。如果打开一个新的终端,则必须再次执行此命令。正确安装和配置kubectl后,下一步要做的就是安装Helm。安装和配置HelmHelm是Kubernetes的一个软件包管理器,它允许您立即安装和配置Istio。因此,请参阅Helm的官方文档并按照那里的说明在本地安装此工具。在那里,您将能够找到在Linux、MacOS和Windows上安装Helm的具体说明。安装Helm之后,您需要通过执行以下命令在Kubernetes集群中初始化它:舵初始化然后,要检查此初始化是否正常工作,可以发出以下命令:kubectl get pods—所有名称空间这个命令将输出集群中运行的pod的列表,其中一个pod必须是Tiller(这个pod的名称类似于Tiller-deploy-6f4dbc6d67-wlqks)。注意:如果您在测试环境之外的任何地方使用Helm(即,如果您在生产集群上运行它),您还必须检查确保Helm安装安全的说明。Istio简介在构建和管理基于微服务的应用程序时,会出现大量的复杂性。使用这种体系结构时,您需要处理服务发现、负载平衡、应用程序弹性和硬件利用率等。当Google引入Kubernetes时,社区看到它为这些复杂的问题提供了解决方案,这项技术立即受到广泛欢迎,并在所有云计算服务提供商中得到广泛采用。然而,Kubernetes缺乏解决公司在采用微服务时反复遇到的其他问题的解决方案。Istio被Google描述为一个开源的独立服务网格,它提供了成功运行分布式微服务架构所需的基础知识,它增强并添加了Kubernetes的附加功能,使基于微服务的应用程序的维护变得容易。例如,在处理微服务时,Istio可以通过一组经过战斗考验的解决方案,帮助您处理体系结构的不同方面,例如:流量管理:超时、重试和金丝雀释放。安全性:最终用户身份验证和授权,可观测性:跟踪、监视和记录。此外,正如您在这里看到的,这只是Istio功能的一个子集。在本文中,您将:介绍给Istio;在Kubernetes集群中部署Istio;运行一组组成应用程序的微服务;并在服务网格中配置Auth0,以验证希望使用您的应用程序的最终用户。安装和