课程介绍
在当今的技术组织中,安全有效地部署和管理应用程序至关重要。因此,企业转向Kubernetes来运行他们的工作负载,却发现平台存在巨大的复杂性。Cloud Foundry是一种现代模型,可以将云原生应用程序交付到任何基础设施,包括Kubernetes。它为Kubernetes环境带来了简单性、速度和安全性。
本课程通过学习使用云计算平台的以应用程序为中心的特性,使学生专注于他们的应用程序而不是基础设施。它向您展示了如何部署和管理工作负载,从最简单的工作负载到高度复杂的工作负载。此外,它还为您提供了自我提供和自我管理服务和路由的技能,以支持您的工作负载。本课程向您展示如何使用云铸造作为一个开发人员或DevOps工程师。简而言之,云计算为您提供了安全、高效地将业务价值投入生产的能力。
本课程针对使用云计算平台的开发人员。它试图描述如何使用云铸造作为一个开发人员。本课程是云铸造认证开发人员考试的适当准备。
本课程并没有涵盖云计算的所有方面和特点。它的作用域是“典型的”开发人员用例。本课程不涉及Cloud Foundry的安装和操作。
本课程涵盖的主题与云铸造认证开发人员考试领域和能力相一致,并使用旨在构建有用实践知识的功能方法进行探索。这种方法的设计是为了让学生在通过考试之外成功地使用云计算。

在本课程结束时,你应该能够:
了解云计算中使用的基本结构和概念。
在Cloud Foundry上部署、排除故障并管理应用程序的整个生命周期。
理解云铸造和其他集装箱技术之间的基本区别。
Cloud Foundry平台的服务实例发放和管理。
了解如何在应用程序中使用路由和域。
基本熟悉云计算平台的高级特性。

见见你的教练:蒂莫·海因里希斯
Timo Heinrichs是德国inovex的一名云平台工程师。他拥有所有三个Kubernetes认证,CKAD, CKA和CKS,同时也为Linux基金会教授相应的课程。他拥有为企业规划和开发大型Kubernetes平台以及小型企业的经验。

认识一下你的教练:史蒂夫·格林伯格
史蒂夫·格林伯格是Resilient Scale公司的创始人兼首席执行官,该公司是一家专注于通过协作、培训和指导建立能力的咨询公司。他是一个长期的应用程序开发人员和工程师有超过20年的经验。Steve自2012年以来一直在Cloud Foundry工作,自2014年以来一直是贡献者。他住在美国科罗拉多州,业余时间骑山地自行车,飞蝇钓鱼,在自己的工作室里制作东西。

课程资源
示例应用程序以.zip文件的形式提供。每个部分都将按名称引用所需的应用程序。注意,这些应用程序是为培训目的而构建的。因此,在生产应用程序中利用代码或模式之前,您应该谨慎行事。
本课程的课程资源(动手操作部分所需的应用文件)可以通过菜单按钮&gt访问;在课程实例中直接选择“资源”选项卡。

访问云计算
您将需要访问一个Cloud Foundry实例来完成课程。如果您的公司有实例,欢迎您使用它。否则,我们建议您选择以下提供免费试用的选项之一。
“开放核心”模型
Cloud Foundry遵循“开放核心”模型。这意味着平台中的核心功能在所有商业发行版中都是标准化的。然而,商业提供者可以并且确实提供了不同的服务(如数据库、消息队列等)。此外,商业提供商可以禁用或启用可选特性。虽然课程的大部分内容应该在所有平台上都能运行,但你可能会遇到在下面的平台上不能运行的功能。
托管云铸造分布
以下托管的Cloud Foundry发行版提供免费试用。

当然支持
与参加这门课的同学互动的一个好方法是通过班级论坛。论坛的用途有以下几种:

  1. 向其他参加这门课的同学介绍自己。
  2. 讨论本课程中提出的概念、工具及技术,或与课程材料中所讨论的主题有关。
  3. 就实验或课程内容提出问题或报告问题。
  4. 分享与云计算及相关技术相关的资源和想法。

课程论坛将由Linux基金会的工作人员定期审查,但它主要是一个社区资源,而不是“询问讲师”服务。
如果您有关于您的课程注册的问题,您可以通过我们的客户支持系统联系我们。您将被要求登录您的LF帐户,这将帮助我们快速定位您的帐户和响应您的请求。这也将允许您跟踪您的支持请求直到解决方案,并创建一个持续的支持请求记录。

课程时间

本课程完全是自定进度的;检查材料没有固定的时间表。你可以通过你自己的步伐,你将总是回到你离开的地方,当你回来开始一个新的会议。然而,我们仍然建议你避免在工作间隙长时间休息,因为这样学习速度更快,内容留存率也更高。
从注册之日起12个月内,即使你已经完成了课程,你也可以无限地访问本课程。

Linux基金会

Linux基金会为开发人员提供了一个中立的、受信任的中心来编码、管理和扩展开放技术项目。Linux基金会成立于2000年,拥有1000多名成员的支持,是全球领先的开源软件、开放标准、开放数据和开放硬件合作之家。Linux基金会的方法侧重于利用最佳实践,并解决贡献者、用户和解决方案提供商的需求,以创建开放协作的可持续模型。
Linux基金会主办了Linux,这是有史以来世界上最大、最普及的开源软件项目。它也是Linux创建者Linus Torvalds和首席维护者Greg Kroah-Hartman的家。Linux的成功促进了开源社区的发展,展示了开源的商业功效,并激励了无数跨越所有行业和技术堆栈级别的新项目。
结果,今天Linux基金会所拥有的远不止Linux;它是许多关键开源项目的保护伞,为当今的公司提供动力,几乎涵盖所有行业部门。我们关注的一些技术包括大数据和分析、网络、嵌入式系统和物联网、网络工具、云计算、边缘计算、汽车、安全、区块链等等。

云计算的基础

云铸造基金会的存在是为了推动全球对云铸造开源项目的认识和采用,发展一个充满活力的贡献者社区,并为项目的目的在所有成员组织之间建立战略和行动的一致性。我们将通过营销整个云铸造社区的经济和技术活动来做到这一点;以公平、活力和乐观的态度治理;以及基于应用程序和技能可移植性的大规模生态系统。
云计算基金会成立于2015年1月,是一个独立的非营利的501©(6) Linux基金会合作项目。基金会作为中立方持有云计算的所有知识产权。截至2019年9月,云铸造基金会拥有60多名成员。
要了解更多关于云铸造基金会,请访问其网站。

Linux基金会活动

每年有超过85,000名全球开源技术专家和领导者聚集在Linux基金会的活动中分享想法、学习和合作。Linux基金会活动是开放源码维护者、开发人员、架构师、基础架构经理、领导开放源码项目办公室的系统管理员和技术人员以及其他关键领导职能的会议场所。
这些活动是在开源社区中快速获得可见性的最佳场所,并通过与评估和创建下一代技术的人员建立联系来推进开源开发工作。他们提供了一个分享和获取知识的论坛,帮助组织尽早确定软件趋势,以告知未来的技术投资,将雇主与人才联系起来,并向全球有影响力的开源专业人士、媒体和分析师展示技术和服务。

Linux基金会每年举办的活动越来越多,包括:

  • 北美、欧洲和日本的开源峰会
  • 嵌入式Linux会议北美和欧洲
  • 开放网络与前沿峰会
  • KubeCon + CloudNativeCon北美、欧洲和中国
  • 汽车Linux峰会
  • KVM论坛
  • Linux存储文件系统和内存管理峰会
  • Linux安全峰会北美和欧洲
  • Linux内核维护者峰会
  • Linux基金会会员峰会
  • 开放的合规峰会

和许多更多。
你可以在网上了解更多关于Linux基金会的活动。

培训场地

Linux基金会的培训是为社区提供的,由社区提供,其特色是直接来自Linux开发人员社区领导人的讲师和内容。
Linux基金会提供几种类型的培训:

  • 教室
  • 在线
  • 现场
  • 基于事件的。

与会者接受Linux和开放源码软件培训,这是由Linux和开放源码软件开发社区的实际领导人自己创建的,分布灵活,技术先进。Linux基金会的课程为与会者提供了广泛的、基础的知识和在他们今天的职业生涯中茁壮成长所需要的网络。通过在线或现场培训,Linux Foundation课程可以使您或您的开发人员在开放源码基本知识方面走在前面。

Linux基础培训产品

我们目前提供的课程包括:
Linux编程与开发培训
企业IT及Linux系统管理课程
开源遵从课程。
要获得更多关于Linux基金会提供的具体课程的信息,包括技术要求和其他物流,请访问Linux基金会培训网站。

Linux基金会认证

Linux基金会认证为你提供了一种方法,让你在迫切需要你的技能的就业市场中脱颖而出。我们采取了一种新的、创新的方法来进行开源认证,让你以一种其他同行尊重和雇主信任的方式展示你的技能:
你可以在任何时间、任何地点、任何电脑上参加认证考试:
认证考试要么是基于成绩,要么是多项选择
考试的分配是灵活的
这些考试都是最新的,测试当今IT环境中真正重要的知识和技能。

培训/认证防火墙

Linux基金会有两个独立的培训部门:课程交付和认证。这两个地区被防火墙隔开了。
Linux基础培训部门的课程开发和维护部门在开发、管理或分级认证考试方面没有直接作用。
实施这种自我设置的防火墙,可以确保独立的组织和公司可以开发第三方培训材料,以帮助考生通过他们的认证考试。
此外,它还确保没有成功所需熟悉的秘密“技巧”(或一般的秘密)。
它还允许Linux基金会开发一套非常健壮的课程,做远比教考试,而是让与会者的广泛知识他们可能需要掌握许多领域有成功的事业在开源的系统管理。

章概述

在本模块中,我们将开始使用云计算。我们将介绍CLI或用于与Cloud Foundry实例交互的命令行接口。我们将把我们的第一个应用程序部署到这个平台上,以了解未来的情况:

  • 我们将向您介绍CLI,用于与Cloud Foundry交互的工具。
  • 我们将解释如何使用不同的云计算实例。
  • 您将把您的第一个应用程序部署到Cloud Foundry。本节的目的是强调云计算为复杂的开发人员工作流带来的简单性和能力。

命令行接口

Command Line Interface(或CLI)是用来通过REST API与Cloud Foundry (CF)实例交互的。cf CLI向平台的用户公开人机友好的命令,并且是公共核心,这意味着它可以与所有Cloud Foundry发行版一起工作。

CF API

cf CLI正在与Cloud Foundry API通信,使开发人员能够以用户友好的方式向API发出请求。
您也可以通过cf curl直接向API发出请求,但这往往更复杂。我们稍后会进一步讨论cf旋度。
在整个课程中,我们将使用最新版本的cf CLI (v7),它由最新版本的cf API (v3)支持。确保您使用的是版本7+是很重要的,因为我们将在整个课程中使用v3的特性。

  • 请参考版本7的命令行安装说明进行安装。
  • 通过执行命令cf version,确认当前运行的命令行版本为7。

Documentation

文档
CLI具有广泛的自文档化功能,因此熟悉它的导航非常有帮助。
作为一个总结:

  • Cf help显示最常用命令的帮助信息
  • Cf help -a显示所有可用命令的帮助信息
  • cf & lt; command>-h(或——help)显示执行特定命令的详细帮助。

如果你运行cf &lt;command&gt;如果没有必要的参数,CLI将输出详细的帮助文本,就像运行cf <command>——帮助。然而,忽略——help并假设CLI总是输出帮助文本是有风险的,因为不是所有命令都需要额外的参数。例如,如果您运行cf push,希望在当前目录中看到帮助文本和清单,那么您可能无意中推了一个应用程序。因此,习惯cf <command>是有帮助的。——帮助工作流。
尝试运行cf help -a来查看所有可用的cf命令,然后在几个命令上运行——help标志来熟悉帮助输出。
如果您正在准备Cloud Foundry Certified Developer考试,您可以在考试期间访问cf帮助,因为考试系统中安装了cf CLI。

Aliases

许多命令都有别名(例如,cf m as a shortcut for cf marketplace)。别名在帮助描述中列出。例如,在cf帮助中的Services integration:一节中,你应该看到:

marketplace,m

逗号后面的m是捷径。随着您对更常用的CLI命令的熟悉,快捷方式可以为您节省一些时间。

国际化

CLI支持多种语言显示文本和描述。命令的名称不会改变,但是帮助文本和命令描述将以您选择的语言显示。
有关支持语言的最新信息,请参阅Cloud Foundry文档。
要更改正在使用的语言环境,可以运行:

cf config --locale <LOCALE>

例如,你可以用下面的方法来改变德语:

cf config --locale de-DE

您可以重新运行cf帮助命令来查看效果。
使用locale CLEAR将删除之前设置的任何值:

cf config --locale CLEAR

我们将在本课程结束时讨论更高级的CF CLI概念。

Demo: The CLI

API端点

cf CLI用于与任何Cloud Foundry实例交互。它对您正在使用的特定实例的CF API端点进行RESTful调用。

设置端点

在使用cf CLI与Cloud Foundry实例交互之前,需要设置API端点。当您设置API端点时,您正在选择要使用的Cloud Foundry实例。您可能听到一些供应商将部署称为“基础”或“实例”,它们的意思是相同的。他们是一个正在运行的云计算公司。
您可以使用cf API命令设置API端点,也可以将其作为cf登录命令的一部分设置(您将在下面看到这一点)。继续并使用以下方法设置API端点:

cf api <API_ENDPOINT>

你应该能够看到你设置的端点运行:

cf api

身份验证

在设置API端点之后,您需要使用正在使用的Cloud Foundry实例进行身份验证。身份验证有许多选项(在不同的环境中使用),但现在我们将使用cf登录进行交互式身份验证。
cf登录命令具有特性和标志(通过运行cf login --help查看这些特性和标志)。这些选项允许您以交互方式或非交互模式进行身份验证,我们将在下面的页面中讨论。-a标志用于在登录时指定API端点(而不是单独使用cf API命令)。
使用非交互式身份验证时要小心,因为凭据可能会出现在终端历史记录中。

认证:交互式终端登录

要在终端中交互式地进行身份验证,请运行不带任何标志的cf login。CLI将提示您提供输入。在此模式下,敏感凭证不会存储在命令shell历史记录中。如果您在终端中使用向上箭头键滚动命令shell历史,您将看到cf登录命令,但不会看到您的用户名或密码。

身份验证:交互式浏览器登录

cf登录命令还支持通过-sso(单点登录)标志通过浏览器进行交互式登录。交互式浏览器登录很好地与浏览器集成的密码管理器,如1Password, LastPass,或KeePass。因为是通过浏览器进行身份验证,所以降低了密码出现在shell历史记录中的风险。
你可以通过交互方式登录:

cf login --sso

CLI将输出一个URL。复制并粘贴到浏览器中,并验证以获得密码。您可以将提供的密码复制粘贴到终端窗口中,完成身份验证流程。

CFCD考试提示:一次性密码流程要求您在浏览器中打开页面。出于这个原因,在考试中不应该使用cf login --sso,因为它可能会把您带到一个未经批准的URL。

身份验证:注销

当您使用Cloud Foundry进行身份验证时,CLI会在本地缓存一个令牌。当你发出请求(比如推送一个应用程序)时,CLI会在每个请求中包含这个令牌。因此,您不必对每个请求重新进行身份验证,并继续工作,直到令牌到期(并且无法刷新)。这时,您需要重新进行身份验证。然而,这也意味着您需要注意在适当的时候注销,以确保恶意参与者无法访问您的Cloud Foundry。
如果您运行cf目标,您将看到您已通过身份验证。然后你可以使用:

cf logout

如果您重新运行cf目标,您将看到您不再登录。

Demo: Using a CF


推荐阅读:


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐