温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Serverless框架之Kubeless如何安装

发布时间:2021-11-26 14:49:46 来源:亿速云 阅读:168 作者:小新 栏目:云计算

这篇文章主要介绍Serverless框架之Kubeless如何安装,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1. 创建命名空间,创建kubeless 控制管理容器

  1.  

    >kubectl create ns kubeless  

  2.  

    #自行安装方便切换空间的kubens  

  3.  

    >kubens kubeless  

  4.  

    #根据官方提供的yaml ,创建Kubeless Controller Manager容器:  

  5.  

    >kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.7/kubeless-non-rbac-v1.0.7.yaml  

  6.  

    #kubless 空间下,可以查看到如下pod  

  7.  

    >kubectl get pods  

  8.  

    NAME READY STATUS RESTARTS AGE  

  9.  

    kubeless-controller-manager-59d484f4d-5v7nv 3/3 Running 0 26m  

2. 下载,配置kubeless 客户端

  1.  

    #我这是Mac,所以下载的Mac版本的  

  2.  

    >wget https://github.com/kubeless/kubeless/releases/download/v1.0.7/kubeless_darwin-amd64.zip  

  3.  

    #解压后  

  4.  

    >cp bundles/kubeless_darwin-amd64/kubeless /usr/local/bin/  

3. 小试牛刀

  1.  

    # 创建hello.py 文件,文件内容如下:  

  2.  

    # 打印event事件,然后返回event的data 内容  

  3.  

    def hello(event,context):  

  4.  

    print (event)  

  5.  

    return event['data']  

  1.  

    #kubeless 空间下,运行一下  

  2.  

    >kubeless function deploy hello --runtime python3.8 --from-file hello.py --handler hello.hello  

  3.  

    #任务正常执行,返回如下:  

  4.  

    INFO[0000] Deploying function...  

  5.  

    INFO[0000] Function hello submitted for deployment  

  6.  

    INFO[0000] Check the deployment status executing 'kubeless function ls hello'  

  7.  

     

  8.  

    #查看下刚跑的function  

  9.  

    >kubeless function ls hello -o wide  

  10.  

    AME NAMESPACE HANDLER RUNTIME TYPE TOPIC DEPENDENCIES STATUS MEMORY ENV LABEL SCHEDULE  

  11.  

    hello kubeless hello.hello python3.8 1/1 READY created-by : kubeless  

  12.  

    function : hello  

触发验证一下:

a. 通过kubeless 命令行验证:

  1.  

    >kubeless function call hello --data '{"hello":"world"}'  

  2.  

    #返回  

  3.  

    {"hello": "world"}  

b. 使用Kubeless UI来调用

    i. 先安装下kubeless UI:(https://github.com/kubeless/kubeless-ui)

  1.  

    #这里默认空间为kubeless  

  2.  

    >kubectl create -f https://raw.githubusercontent.com/kubeless/kubeless-ui/master/k8s.yaml  

  3.  

    #可以查看下状态,如下Running已经安装了  

  4.  

    >kubectl get pods  

  5.  

    NAME READY STATUS RESTARTS AGE  

  6.  

    hello-684545b7c6-sf6sz 1/1 Running 0 16m  

  7.  

    kubeless-controller-manager-59d484f4d-5v7nv 3/3 Running 0 59m  

  8.  

    ui-698c9989-tlw2b 2/2 Running 0 80s  

  9.  

     

  10.  

    #看下服务,可以看到服务的虚拟IP  

  11.  

    >kubectl get svc  

  12.  

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE  

  13.  

    hello ClusterIP 10.105.236.229 <none> 8080/TCP 17m  

  14.  

    ui NodePort 10.111.144.93 <none> 3000:31997/TCP 2m33s  

Serverless框架之Kubeless如何安装

c. 使用kubectl proxy 来调用

  1.  

    #开启代理  

  2.  

    >kubectl proxy --port=9999  

  3.  

    #返回  

  4.  

    Starting to serve on 127.0.0.1:9999  

  5.  

    #访问看下  

  6.  

    > curl -L --data '{"hello": "world again"}' --header "Content-Type:application/json" http://localhost:9999/api/v1/namespaces/kubeless/services/hello:8080/proxy/  

  7.  

    #返回  

  8.  

    {"hello": "world again"}  

以上是“Serverless框架之Kubeless如何安装”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI