C语言学习网

Serverless框架之Kubeless如何安装

发表于:2022-12-09 作者:安全数据网编辑
编辑最后更新 2022年12月09日,这篇文章主要介绍Serverless框架之Kubeless如何安装,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 创建命名空间,创建kubeless 控制管理容器>kube

这篇文章主要介绍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. #查看下刚跑的function

  8. >kubeless function ls hello -o wide

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

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

  11. 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. #看下服务,可以看到服务的虚拟IP

  10. >kubectl get svc

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

  12. hello ClusterIP 10.105.236.229 8080/TCP 17m

  13. ui NodePort 10.111.144.93 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