欢迎光临
我们一直在努力

Serverless框架之Kubeless如何安装

这篇文章主要介绍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
     

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如何安装”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注云搜网行业资讯频道!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。