在Google Cloud Platform的K8上运行Fn函数

最近,我在Functions和Project Fn中玩了很多游戏。 最终,我不得不离开笔记本电脑上的操场,进入真正的野生世界。 在K8s集群上运行Fn的想法对我来说很有吸引力,因此我决定在Prem或云中的某个地方进行操作。 在对如何在裸机上自行安装和配置K8s集群进行了一些研究之后,我得出的结论是我对此太懒了。 因此,我飞到了云端。

在本文中,我将展示如何在Google Cloud Platform托管的Kubernetes集群上运行Fn。 为什么选择Google? K8s服务还有很多其他云提供商。

事实是,Google 确实在云中拥有Kubernetes集群,每个人都可以使用。 他们会立即为您提供服务,而无需申请预览模式访问权限(也就是我们在找到适合您的功能后会与您联系),解释您为什么需要它,检查背景,信用记录等。因此,谷歌。

在完成所有手续并最终可以使用Google Kubernetes Engine之后 ,转到“ 快速入门”页面并按照说明安装Google Cloud SDK。

如果您的计算机上未安装kubectl ,则可以使用gcloud进行安装

gcloud components install kubectl

按照Kubernetes Engine快速入门上的说明,通过调用以下命令来配置gcloud并创建K8s集群:

gcloud container clusters create fncluster
gcloud container clusters get-credentials fncluster

kubectl检查结果:

kubectl cluster-info

这将为您提供集群中K8s服务及其URL的列表。

好的,这就是我们的出发点。 一方面,我们在云中有了一个新的K8s集群,另一方面是Fn项目。 让他们结婚吧。

我们需要安装一个工具来管理Kubernetes软件包(图表)。 类似于Linux上的apt / yum / dnf / pkg。 工具是Helm 。 由于我是Mac用户,所以我做到了:

brew install kubernetes-helm

其余的Helm安装选项可在此处获得 。

下一步是在K8s集群中安装Tiller。 这是Helm的服务器部分:

kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller --upgrade
helm repo update

如果未在本地安装Fn,则需要安装它,以便在计算机上(在Mac或Linux上)具有Fn CLI:

curl -LSs https:
//raw
.githubusercontent.com
/fnproject/cli/master/install> setup.shchmod u+x setup.shsudo ./setup.sh

在带有Helm的K8s集群上安装Fn(假设您确实有git client):

git clone git@github.com:fnproject/fn-helm.git && cd fn-helm
helm dep build fn
helm install --name fn-release fn

等待(几分钟),直到Google Kubernetes Engine将外部IP分配给集群中的Fn API。 检查:

kubectl get svc --namespace default -w fn-release-fn-api

配置本地Fn客户端以访问在K8s集群上运行的Fn

export FN_API_URL=http://$(kubectl get svc --namespace default fn-release-fn-api -o jsonpath='{.status.loadBalancer.ingress[0].ip}'):80

基本上完成了。 让我们检查一下:

fn apps create adfbuilderapp fn apps list

现在,我们可以使用Fn函数构建ADF应用程序,如我以前的文章中所述 。 仅这次,该功能将运行,因此构建作业将在云中较高的位置执行。

而已!

翻译自: https://www.javacodegeeks.com/2018/03/run-fn-functions-on-k8s-on-google-cloud-platform.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php判断对象属于哪个类,PHP instanceof:判断对象是否属于某个类

使用 PHP 中的 instanceof 运算符,可以判断一个对象是否属于某一个类,语法格式如下:对象名 instanceof 类名;【示例】使用 instanceof 判断一个对象是否属于某个类。class A{}class B{}$obj new A;var_dump($obj instanceof A);echo ;var_du…

Java常用类(1)--字符串相关类String、StringBuffer、StringBuilder全面知识

文章目录String类StringBuffer类StringBuilder类String:不可变的字符序列;底层使用char[]存储 StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储 StringBuilder:可变的字符序…

hybbs接口php,HYBBS

#HYBBS官方地址: http://bbs.hyyyp.com论坛基于HYPHP框架开发MVC结构支持HOOK机制PDO操作SQL,支持众多数据库论坛特性服务器环境要求:支持子目录安装论坛PHP 5.3 包括5.3 , 5.3以上环境Apache || Nginx || IIS需要开启伪静态,否则无法安装~!数据库支持 : MYSQL , MSSQL ,Oracle…

Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面

文章目录java.lang.System类java.util.Date类java.sql.Date类java.text.SimpleDateFormat类java.util.Calendar(日历)类java.time类java.time.Instant类java.time.format.DateTimeFormatter 类其它APIjava.lang.System类 System类提供的public static long currentTimeMillis(…

apache camel_Apache Camel简介

apache camelApache Camel是著名的企业集成模式的开源实现。 Camel是一个路由和中介引擎,可帮助开发人员以各种特定于域的语言(DSL)(例如Java,Spring / XML,scala等)创建路由和中介规则。 骆驼…

oracle括号不区分中英,Oracle的sql语句,查询条件加括号与不加括号区别 -

例如:SELECT ename, job, deptnoFROM empWHERE deptno in (10, 20)AND (ename like ‘%I‘ OR job like ‘%ER‘);执行该sql,结果集如下:1 JONES MANAGER 202 CLARK MANAGER 10去掉上面sql查询条件中的括号&a…

Java常用类(3)--Java比较器Comparable、Comparator类

文章目录自然排序:java.lang.Comparable定制排序:java.util.Comparator自然排序:java.lang.Comparable Comparable接口强行对实现它的每个类的对象进行整体排序,这种排序被称为类的自然排序。 实现 Comparable 的类必须实现 com…

Angular5 JWT身份验证(Spring Boot安全性)

欢迎使用带有Spring Security的angular5 jwt身份验证。在本教程中,我们将在一个angular5单页应用程序中使用jwt身份验证创建一个完整的堆栈应用程序,该应用程序具有由spring boot支持并集成了spring security的后备服务器。带有集成了HttpInterceptor的示…

Java常用类(4)--System类

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部,该类位于java.lang包。 由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,可以…

创新设计模式:原型模式

原型模式用于创建对象的副本。 这种模式非常有用,特别是当从头开始创建对象的成本很高时。 与builder , factory和abstract factory模式相比,它不会从头开始创建对象,而是会克隆/重新创建它。 与单例模式相比,它创建一…

oracle游标的实例,oracle游标实例

--游标----游标:当在PL/SQL块中执行查询语句和数据操作语句时,oracle会为其分配上下文区,游标是指向上下文区的指针。----显示游标:显示游标在PL/SQL块的声明部分声明,在执行部分或异常处理部分打开游标,提…

Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类

文章目录BigInteger类BigDecimal类BigInteger类 Integer类作为int的包装类,能存储的最大整型值为2^31-1,Long类也是有限的, 最大为2^63-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类 都无能为力。 java.math包的…

创新设计模式:单例模式

单例设计模式是一种软件设计模式,用于将类的实例化限制为一个对象。 与其他创建设计模式(例如抽象工厂 , 工厂和构建器模式)相比,单例将创建一个对象,但也将负责,因此该对象只有一个实例存在。…

UNIX下 oracle expdp,Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)

Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)紧接上篇文章,Oracle数据库架构已经创建完成,我的需求是:将老服务器上的数据库迁移到新的数据库上。这就用到impdp(导入)操作。要想实现对新数据库的impdp(导入)工作,首先需要…

Java枚举类(1)--枚举类的定义、方法使用和接口实现

文章目录枚举类的理解枚举类的定义Enum类的主要方法枚举类实现接口枚举类的理解 当类的对象只有有限个,且确定的,称此类为枚举类。 当需要定义一组常量时,强烈建议使用枚举类。 如果枚举类中只有一个对象,则可以作为单例模式的…

java备忘录_Java 8备忘单中的可选

java备忘录Java 8 java.util.Optional<T>是scala.Option[T]和Data.Maybe在Haskell中的较差表亲。 但这并不意味着它没有用。 如果您不熟悉此概念&#xff0c;请将Optional想象为可能包含或不包含某些值的容器。 就像Java中的所有引用都可以指向某个对象或为null &#xf…

IDEA中注解注释快捷键及模板

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 文章目录单行注释多行注释文档注释(块注释)方法说明注解自动注…

从方法返回Java 8的可选项时的注意事项

Java 8引入的Optional类一直是该语言版本引入的最具争议的功能之一。 尽管我喜欢这个新的Java类的东西比不喜欢的东西多&#xff0c;但在Java方法中将其用作return类型时&#xff0c;需要考虑一些事情。 我将在本文中讨论其中的一些问题&#xff0c;但不会讨论有关是否应该将Op…

oracle账户解锁28000,oracle 下载 账号密码ORA-28000账户被锁和解锁

今天测试库有个账户的密码忘了&#xff0c;试了十几次就开始提示&#xff1a;ERROR:ORA-28000: the account is locked意思明显就是账户被锁了&#xff0c;可能是用户的资源设置中对密码重试次数做了限制。验证&#xff1a;SQL> select a.username, b.profile, b.resource_n…

让别人和自己看懂自己的程序代码?一文掌握Java单行多行、文档注释以及注解(Annotation)超详细的理解使用,IDEA注释注解快捷键和模板,提高程序代码更有可读性

文章目录单行和多行注释文档注释&#xff08;Java特有&#xff09;Annotation(注解)的理解常见的Annotation示例IDEA注释注解快捷键及模板自定义 AnnotationJDK 中的元注解单行和多行注释 注释的内容不参与编译&#xff0c;即编译以后的.class的字节码文件中不包含注释的内容。…