以上 工具都是基于docker 的虚拟化工具,每个工具都足够让你节省非常多的时间来构建镜像,部署你的 应用服务
s2i 非常简单 是一个从源码 构建docker 镜像的工具,在我们做 model-serving 在使用s2i 非常便利,最主要的是,比如 你只是有model 和预测代码,要启动一个web 服务来做 实时预测,那么使用s2i 就可以省下 写web 业务逻辑的代码,在使用 s2i 前要保证docker daemon 是在运行状态的
s2i cli 有常用的几个命令
build completion create rebuild usage version
version 是查看 s2i版本的
create 是 一个脚手架,s2i create image_name image_directory,直接根据 名称和要创建的 docker image root directory
然后进入这个目录
之后你需要 修改 Dockerfile ,run assembe 等文件
build 则是最常用的 命令,它需要依赖一个基镜像,在你源码所在的根目录路径下执行或者指明源码路径 写明基镜像,写好要创建的镜像名和 版本号,就可以将源码打包成镜像了
s2i build ./ centos:latest my_app:latest
如果没有问题,打包成功,然后使用 docker images 会看到 自己打包好的镜像
rebuild 则是在你的image 需要打补丁的时候使用,修改了原来的源码后 ,使用rebuild 继续打包部署
completion 这个好像是 与镜像容器 shell 相关的
usage 这个 可以查看 镜像的 使用说明 大概是
ksonnet ks 作为一个kubenete 的一个 包管理器,可以直接把github 的项目打包为镜像
ks 有如下的几个命令
apply component delete diff env generate help import init module param pkg prototype registry show upgrade validate version
首先 version 查看 版本号,help 查看 帮助 ,diff 对比两个 pod的描述文件的区别
ks init 这个是创建一个 本地的pod 描述目录的脚手架,首先是先创建一个pod 目录 ,里面有创建pod 的相关文件和目录, app.yaml components enviroments lib vendor
ks registry add github_addr 添加 pod 源码的github仓库地址
ks pkg install 安装源码 版本
ks generate 生成相关的component 代码内容
ks apply default 将其生成pod 安装到k8s 集群
这个比较全面
https://my.oschina.net/u/2306127/blog/1808581
另外还可以参考一个
ks init my-ml-deployment --api-spec=version:v1.8.0
Install seldon-core. Set:
withApife set to false if you are using Ambassador
withAmbassador set to true if you want to use Ambassador reverse proxy
withRbac set to true if your cluster has RBAC enabled
cd my-ml-deployment && \
ks registry add seldon-core github.com/SeldonIO/seldon-core/tree/master/seldon-core && \
ks pkg install seldon-core/seldon-core@master && \
ks generate seldon-core seldon-core \
--withApife=<true|false> \
--withAmbassador=<true|false> \
--withRbac=<true|false>
Launch components onto cluster
ks apply default
helm 大概分三部分 client helm cli ,server 是 tiller ,还有 chart
helm 默认仓库是 googleapi ,可以修改仓库为阿里云,另外 helm 也可以安装本地磁盘的内容生成 pod
helm 大概是继承了 ksonnet和 s2i两者的优点
completion
create
delete
dependency
fetch
get
history
home
init
inspect
install
lint
list
package
plugin
repo
reset
rollback
search
serve
status
template
test
upgrade
verify
version
其中简单的 是 version upgrade help serve[web server] history[fetch release history] home [helm root dir] search [搜索关键字 chart】 list 【查看 本地的release列表】
completion 激活 bash
init 初始化 helm cli 脚手架
create 创建 一个chart
delete 删除 已经存在的pod helm
dependency 管理一个chart 的依赖项
fetch 相当于 git pull ,从远程仓库下载chart ,并解压到本地目录
get 直接下载 release的 pod
template 本地渲染模板
verify 验证给的路径下的 chart 是否可以使用
status 查看给定 名字的release的状态
install 安装chart 压缩离线文件
inspect 进入一个chart内部
lint 检验一个chart 是否有毛病
package 把一个chart 目录打包为一个chart 离线文件
plugin 添加 移除 helm 的插件
repo 添加 移除 更新 仓库 ,查看仓库列表
reset 卸载 本地集群的tiller
rollback 回滚release到上一个版本
test 测试release
kubectl 的一些命令
create
expose
run
set
explain
get
edit
delete
rollout
scale
autoscale
certificate
cluster-info
top
cordon
uncordon
drain
taint
describe
logs
attach
exec
port-forward
proxy
cp
auth
apply
patch
replace
wait
convert
label
annotate
completion
alpha
api-resources
api-versions
config
plugin
version
minikube command
addons
cache
completion
config
dashboard
delete
docker-env
get-k8s-versions
help
ip
logs
mount
profile
service
ssh
ssh-key
start
status
stop
update-check
update-context
version
网友评论