VKube使用手册
如何购买v-kube服务
注册/登陆v-kube
第一次进入v-kube (opens new window)会定向到注册页面
一般地,使用系统随机助记词,只需输入设置的密码便可完成用户的注册。
登录
已经有VKube账号的,直接输入密码进行登录
查看可购服务
点击“Purchase”,出现可以可购买的服务,点击蓝色按钮order
进入到购买配置,自行选择配置,目前有region,持久存储Persitent storage,端口选择Port specification,Resource Unit和购买时长Duration等选择
建立订单
选择完配置之后点击Create
按钮创建一个订单(仅包含一个服务,如需同时购买多个不同配置的服务,可以逐一添加至购物车再进行购买)
可在右上角购物车查看购物清单,如下图所示,此时在左侧选择打勾,然后点击Create
按钮就会创建多个服务的订单。
订单详情
点击“My Orders”,查看订单详情,可以看到哪些订单已经付款,哪些订单未付款,点击“Pay”按钮会出现付款弹窗
付款弹窗
显示该订单价格,支付方式选项(USDV, VSYS),支付余额检查,订单ID等,点击Pay
按钮后进入付款确认
已购服务
点击导航“My Services”可查看已购买的服务:Renew(续费),Refund(退款),Secret(密钥)
如何使用v-kube服务
v-kube控制台
首先在“My Services”页面点击Secret
按钮,会自动跳转到“Containers”页面,并且已经复制到Add
内容输入框了,只需要点击Add
按钮,用户就可以获取订单信息。需要注意的是,secret只是保存在本地的缓存里面,每个secret对应一个Container,这些secret是以明文的形式存储在local storage里面,清空浏览器缓存时这些数据将消失。如下图所示:
添加和删除secret并不会对后台数据以及Container产生影响, 但是点击部署后,Container将会按照用户的配置部署该Container。
Container列表结构
如上图所示,Container菜单栏有三个主要区域。
区域1:
包含secret输入框,Add
按钮、Refresh
按钮、ImageHub
按钮和Synchronize
按钮。下面详细介绍各个按钮的作用。
Add
按钮:输入secret后点击Add
按钮会把新的container加入到列表中,如果是非法的secret则会弹出包含错误信息的Alert提示框。Refresh
按钮:刷新列表中所有container的状态。ImageHub
按钮:点击ImageHub按钮然后再点击“Save Account”,将会出现下图所示的弹框,点击红色箭头所指的倒三角,将会看到可以选择的选项,为其添加账号和密码信息,这个信息将由系统报错。可以选择不设置,这样以来,你每次部署私有镜像的时候都需要填写一次账号和密码。Synchronize
按钮:使用不同的浏览器或者两台不同设备登录同一个账号,通过点击“Containers”左侧菜单栏,你看不到任何数据。这时候需要点击Synchronize
按钮进行同步,把远端的数据同步过来。
区域2:
作为一个表头,说明区域3的每一列数据的含义。“Service ID”代表这个订单的服务号,“Container Status”指的是pod的状态,一般有Pending,Running, CrashLoopBackOff等等。 “Service Status”指服务当前的运行的状态(旁边的信息图标是用来打开弹窗显示详细的状态数据)。“Actions”区域提供对于container或者本地secret的操作功能按钮。对于区域3中每一条数据的Actions,如果是service处于“Pending”时,用鼠标点击三个点,会展开一个小弹框,显示有Deploy
,Alias
,Contact
,Policy
,Delete
按钮。如果是成功部署后的container,可操作的按钮将会变多。
Deploy
按钮: 如果是未部署的container会显示deploy的按钮。点击deploy将会打开一个弹窗,用于部署container。成功部署过后Container Status将会显示Running,Actions区域也不再显示Deploy
按钮,而是其他的操作按钮。Alias
按钮:对于某个container,如果想要更新其内部访问端口和访问名。可以使用这个按钮,这样可以再同一个地区(region)内,都可以使用你设置的别名:端口来访问你的这个服务。Contact
按钮:对于某个服务,绑定邮箱邮箱之后,当这个服务出现任何异常的情况,会有相关的消息通知。例如服务过期了,或者进行Restart操作等。针对绑定邮箱操作,也可以在用户层面绑定。优先级是服务里面的邮箱优于用户层面的邮箱,例如,你购买有3个服务,其中一个绑定了邮箱A,用户层面绑定了邮箱B,对于绑定了邮箱A的服务,会发送相关通知到邮箱A,而其他2个服务将会发送通知到邮箱B中。如下图,点击用户头像,Account
中可以绑定邮箱。Policy
按钮:这个网络策略相当一个白名单,具体来说就是在同一个region内,哪一个服务可以访问当前这个服务。点击policy后再点击“Add Rules”,添加serviceID,最后点击Create按钮即可。那么只有添加的这些ServiceID的服务能访问你当前的这个服务。Delete
按钮:会将Local Storage内的secret删除,不会影响远端container的运行。
区域3:
对于区域3中每一行代表的是一个contianer,也可称之为一个service。点击每个"Service ID"左侧的箭头图标可以打开折叠面板来查看订单详情,如下图所示。下面详细介绍下每个字段的含义:
Service Name
:container对应的服务名称
Created Time
:订单创建时间
Expired Time
:服务到期的时间
Service Duration
:可以使用服务的总时长
Address
:订单创建人的VSYS coin
钱包地址
Recipient
:服务供应商用于收款的VSYS coin
钱包地址
Service Option
: 黑色区域显示container的资源配置信息, 属性名旁边的箭头图标可以用来折叠或打开显示面板。 Number of Port
:container可被外部访问的端口数. Ram
:container所在服务器分配给container的固定RAM大小, Port Sepcification
:container的host端口定义类型,分为User Specified Service Port
(即用户自定义,从可用的端口中选择), Ramdomized Port
(系统自动分配给container端口号)。
Status
:service的状态,Pending代表的是服务可部署,Running代表服务已经成功运行,Deleted代表服务已经过期不可再使用。
Container状态弹窗
如下图所示,点击Container Status状态旁边的绿色按钮,会出现状态弹窗。
显示所有的container的状态信息,其中包含container的历史状态,配置信息和当前状态
弹窗标题处显示container的Service ID,下方区域可以上下左右滑动查看json格式的状态信息
Container部署弹窗
左侧菜单栏My Containers
完成Add
secret之后,会看到有新的一条数据,对应的Service Status显示状态为ServicePending
,对应Container的Actions 区域会显示Deploy
按钮。
部署前
如下图所示,点击Deploy
按钮进入到填写镜像信息页面进行填写。
部署步骤 1.如下图所示:
第一步,选择你要部署的镜像属于DockerHub还是Github镜像库;
第二步,是否是私有镜像,如果是,需要在旁边的方框打勾,然后填写账号和密码信息;以下是镜像格式的说明:
- 公有镜像:Dockerhub公有镜像,推荐使用格式为:
镜像名:tag
(如:nginx:latest),Github公有镜像,推荐使用格式为:账户名/镜像名:tag
- 私有镜像:Dockerhub私有镜像格式为:
账户名/镜像库:tag
,Github私有镜像格式为:账户名/镜像名:tag
。对于私有镜像,需要填写对应镜像库用户名和密钥,密钥推荐使用PAT(Personal Access Token)。部署前会到相应仓库地址查询镜像,因此你需要保证对应tag的镜像在镜像仓库里是可读的;如下图所示,左侧红色框内会显示你填写的镜像是否存在。打勾表示存在,否则表示镜像找不到,请检查填写的镜像格式是否正确。
- 公有镜像:Dockerhub公有镜像,推荐使用格式为:
第三步,填写容器的名字,这个不能乱写,需要符合一定的规则,容器名称可以包含字母(a-z,A-Z)、数字(0-9)和连字符(-),并且不能以连字符开头或结尾。上面图右侧红色会判断你填写的名称是否符合规范。如果部署多个镜像,这里的name不能相同。比如想要部署3个不同的镜像,3个name都不能相同。
2.可选项说明:
- 点击按钮“+Port”添加container port和host port(必须是一一对应的映射),下方文字
1 host port available
指可继续添加的host port数量。 container端口范围1~ 65535。 port数量由 Service Option中Number Of Port
决定。用户可以使用小等于Number Of Port
数量的端口。填写端口号之后, container port不需要验证是否被占用,系统会检测该region中host port是否有效。非数字输入或者端口在给定region被占用输入框下方会显示提示信息。在一次部署中container和host 端口不能重复,否则无法通过验证。另外也可选择不使用任何端口 - 点击按钮“Environment Variables”添加container部署的环境变量:名称和值
- 点击“Advance”那一行右侧的箭头打开折叠面板,用户可以分别在Command 和Argument以 string形式输入Container部署指令和参数
3.点击Deploy
按钮部署,提交部署指令前网页会校验每一项的输入,验证成功便可提交部署申请。部署成功弹窗关闭,会弹出一个部署成功的Alert提示框。 否则保持弹窗打开状态,并弹出部署失败的Alert提示框。
部署成功后
如下图所示:可以看到服务的状态由ServicePending
变为了ServiceRunning
,Container Status
的状态由Pending
变为了Running
,另外Actions操作区的可选择的操作也变多了
Container相关操作
- 如下图所示,部署完成后,Actions区域可以对其containers进行的操作有:Restart,Stop,Config,Redeploy,Domain,Contract,Delete的操作;Notice区域可以看到消息提醒,例如容器发生异常奔溃后,你会收到消息;Containers区域可以对某个容器进行操作,例如更新软件镜像版本,监控某个容器使用的内存,CPU使用的情况等
Restart
点击Restart操作,重启。执行这个操作,所有属于这个服务的容器都会先暂停,然后再启动。重启之后,之前容器的log将被删除。
Stop
点击Stop操作,相当于把当前的服务里面的container都暂停了,想要再次启动, 可以点击Actions区域,点击Start按钮即可。需要注意的是,Stop操作后,并没有停止计费。例如,你买了一个2小时的服务,8:00部署成功,10:00过期,在9:00你执行了Stop操作,9:30你重新Start,但过期时间并没有延长至10:30,过期时间还是10:00,即下图的End Time不会改变。如下图所示,可以看到,Stop操作过后的Service,Container Status变为Pending,Service Status变为ServiceStop。
Config
container name代表你想为这个container添加配置文件,可以进行手动配置,也可以选择上传文件。需要注意的是,上传文件操作是读取文件到前端,真正配置还需要点击Confirm按钮;环境变量手动配置,点击+
,增加配置,点击-
,减少配置,也可以选择文件上传,如下图所示:
Redeploy
重新部署,新的部署意味着你可以部署新的镜像。例如:第一次部署nginx,redeploy的时候可以部署redis,具体的部署步骤跟第一次一样。需要注意的是,重新部署后,之前部署的containers的Log会被删除。
Domain
container域名绑定 1.支持绑定多域名; 2.'Unbind All'全部解绑; 3.单个解绑; 4.单个新增。
Alias
给服务起别名,未部署之前和部署后都可以给服务起别名。前面Container列表结构已有介绍。
Contact
点击Contact填写联系方式,然后点击Send Code按钮,收到验证码后,填写验证码后点击Verify Code按钮,绑定这个服务。当这个服务过期了,或者进行Restart操作,会有相关的通知。
Delete
点击Delete按钮,就会把所操作的服务从当前页面中删除。如果需要恢复, 需要重新到My Services中复制secret再到My Containers页面进行Add。
Policy
上面的Container列表结构已有介绍。
Notice
消息通知,点击Notice可以看到查看container的异常状态的通知:Restarted OOMKilled等
单个container操作
点击Containers右边的倒三角,就会出现弹窗,显示这个服务实际部署的Containers list,针对每个container,有Log,Monitor,Upgrade这三个操作,如下图所示:
Log
点击Log
按钮,然后可以看到这个container的log,如下图所示:
Monitor
点击Monitor
按钮可以看到当前container所占用的内存,网络资源等信息。如下图所示:
Upgrade
点击Upgrade
按钮可以对镜像进行升级,注意,升级镜像是对同一个镜像进行版本升级,比如你刚开始运行的镜像是nginx,你更新的时候必须也是nginx,只是后面版本的不同。注意,私有镜像还是要填写账号密码,请参考上面的部署步骤。如下图所示: