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”可查看已购买的服务:Token(密钥),Refund(退款),Renew(续费)
如何使用v-kube服务
v-kube控制台
如下第一张图所示,在“My Services”页面点击Token
按钮复制token。然后到“Container”页面下导入token查看container,如下第二张图所示。每个token对应一个Container。需要注意的是,Token只是保存在本地的缓存里面,这些token是以明文的形式存储在浏览器的local storage里面,清空浏览器缓存时这些数据将消失。添加和删除token并不会对后台数据以及Container产生影响,但是点击部署后,Container将会按照用户的配置部署该Container。
Container列表结构
如上图所示,Container菜单栏有三个主要区域。
区域1:
左侧包括一个service搜索框,和一个service status条件筛选框。右侧,有Refresh
按钮、Import
按钮和Manage
按钮。下面详细介绍各个按钮的作用。
Refresh
按钮:刷新列表中所有container的状态。Import
按钮:导入token。Manage
按钮:ImageHub
按钮:点击ImageHub按钮然后再点击“Save Account”,将会出现下图所示的弹框,点击红色箭头所指的倒三角,将会看到可以选择的选项,为其添加账号和密码信息,这个信息将由系统报错。可以选择不设置,这样以来,你每次部署私有镜像的时候都需要填写一次账号和密码。Synchronize
按钮:使用不同的浏览器或者两台不同设备登录同一个账号,通过点击“Containers”左侧菜单栏,你看不到任何数据。这时候需要点击Synchronize
按钮进行同步,把远端的数据同步过来。
区域2:
作为一个表头,说明区域3的每一列数据的含义。“Service ID”代表这个订单的服务号,“Container Status”指的是pod的状态,一般有Pending,Running, CrashLoopBackOff等等。 “Service Status”指服务当前的运行的状态(旁边的信息图标是用来打开弹窗显示详细的状态数据)。“Actions”区域提供对于container或者本地token的操作功能按钮。对于区域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内的token删除,不会影响远端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部署弹窗
左侧菜单栏Containers
完成Import
token之后,会看到有新的一条数据,对应的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资源:
- 这里设置成功后将会完成host和用户container之间的端口映射,用户服务就可以在互联网上通过HostIP:hostPort进行访问了。
- 点击按钮“+Port”添加container port和host port(必须是一一对应的映射),下方文字
1 host port available
指可继续添加的host port数量。 port数量由 Service Option中Number Of Port
决定。用户可以使用小等于Number Of Port
数量的端口。系统会检测该region中host port资源是否有效,如果所填被占用,用户可填写新的host port。
- 添加配置文件资源:
- container服务读取的外部配置文件,避免如果在镜像中使用了配置文件,在需要更改配置文件时对镜像进行重新构建。
- 点击
Add Config
按钮,在配置文件的编辑弹窗中,需要填写配置文件的名称(包含文件的绝对路径)Config Path
和内容Config Content
。点击Confirm
按钮,系统会将配置文件内容保存到用户container前面所指定的路径当中。
- 添加环境变量资源:
VKUBE
的环境变量和linux的环境变量概念一样,可以设置容器运行时的环境变量。- 点击按钮
Environment Variables
添加container部署的环境变量:名称和值
Advance
Command
,其概念和docker container中的Command概念一样,可以设置容器启动时执行的命令。Argument
,其概念和docker container中的Argument的概念一样,可以设置容器启动时执行的参数。
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
点击Config操作,可以对container的配置文件内容和环境变量进行更改操作。
用户可以选择某一个container中的某一个你想更改或者查看的配置文件。修改配置文件,可以进行手动配置,也可以选择上传文件。需要注意的是,上传文件操作是读取文件到前端,最终配置生效还需要点击Confirm按钮。
环境变量手动配置,点击
+
,增加配置,点击-
,减少配置,也可以选择文件上传,如下图所示:
Redeploy
重新部署意味着你可以任意修改部署信息来作为一次新的部署。部署的参数意义和和Deploy
一样。例如:第一次部署了nginx服务,redeploy的时候可以部署为redis服务,具体的部署步骤跟第一次一样。需要注意的是,重新部署后,之前部署的containers的Log会被删除。
Domain
VKUBE
的域名服务功能需要用户在部署了自己的服务之后,把自己的域名配置(比如A Record)到nodeIP,nodeIP为对应用户服务所在机器上的IP地址。完成这一步之后,就可以使用VKUBE
的域名服务功能,来帮助代理用户的服务了。设置信息如下所示,当完成设置后,就可以通过用户域名在Internet上,去访问在VKUBE
上所部署的用户服务了。
container域名绑定所支持的操作
新增(支持绑定多域名):新增用户服务和用户域名之间的代理关系,使得用户域名可以在Internet上,去访问在
VKUBE
上所部署的用户服务了。对同一个用户服务,只要用户配置了多个域名映射(比如A Record),可以支持绑定多个域名。'Unbind All'全部解绑:一次性解绑所有绑定在
VKUBE
的域名,注意这里只会接触在VKUBE
中用户服务和用户域名之间的代理关系,不涉及用户域名映射的配置。单个解绑
参数解释:
Domain
:需要绑定到VKUNE
的用户域名,例如:www.example.comContainer Port
:用户容器所监听的端口号,例如:80Letsencrypt
:是否使用VKUBE
提供的Letsencrypt
生成的免费证书,如果选择了,系统会自动申请并绑定证书。
Alias
VKUBE
的Alias功能可以给用户服务起别名,在同一个region中,用户的不同服务可以通过这个别名进行通信。
参数解释:
Alias
: 用户可以填写自己喜欢的或者特别意义的字符,作为服务的别名。Alias Port
: 作为用户上面填写别名所配套的端口号,例如:80Container Port
: 用户服务程序所监听的端口号Protocol
: 用户服务程序所使用的网络协议,有TCP和UDP两种。
例子:
Alias | mongo-url |
---|---|
Alias Port | 27017 |
container Port | 27017 |
Protocol | TCP |
当你完成设置后,在同一个region
中,在VKUBE
中的服务,就可以使用mongo-url:27017
访问该服务了。
注意:
如果用户部署了网页服务,在浏览器中使用别名访问(比如:mongo-url:27017
),那是不能访问得到的。
Contact
VKUBE
的Contact
功能为该用户服务绑定邮箱,当服务出现异常情况,会有相关的消息通知。目前将会和VKUBE
的Notice
信息同步,即Notice
有什么新的信息,如果设置了邮箱,会发送给这个邮箱。
参数解释:
Your Email address
: 用户可以填写自己的邮箱地址,作为服务的联系方式。Verification code
: 系统会发送验证码到这个邮箱,用户需要填写验证码,点击Verify Code
按钮,绑定邮箱。
Delete
点击Delete
按钮,就会把所操作的服务从当前页面中删除。该操作不会涉及服务器的任何变动,仅仅只是在用户端浏览器进行移除该用户服务的可视信息而已。如果需要恢复,需要重新到My Services
中复制Token
再到Containers
页面进行Import
,即重新导入。
Policy
VKUBE
的Policy
功能提供了一个白名单机制,可以控制不同服务之间的访问权限。一旦创建,除了该白名单中指定的服务,所有访问该服务的请求将会受限。比如创建了一个空白的白名单,那么没有任何服务可以访问该用户服务了。
操作流程:
- 点击
Policy
按钮,然后点击Add Rules
按钮,在Add Rules
下,有三种选项:Single Service
:填写User Service ID,即允许此ID服务访问设置了该Policy
的服务Services of Onwer
:填写Address,允许一类的服务访问设置了该Policy
的服务,此类服务均是由Address
所有Specific Service of Owner
:填写User Service ID和Address,允许指定的服务ID和Address的服务访问设置了该Policy
的服务
- 完成上述配置后,点击
confirm
,在主配置窗口,会看到刚刚所配置的信息,如果还想增加其他规则,可以继续点击Add Rules
按钮。如果已经确认无误后,点击Create Policy
按钮,完成Policy
的创建。 - 也可以不添加
Rule
,直接创建Policy
,这样所有服务都被禁止访问该用户服务。
Notice
VKUBE
的Notice
功能可以查看用户服务的一些状态的公告,例如:服务Out Of Memory的发生,服务快过期的提醒。如果用户关联了邮箱,系统会自动发送公告到邮箱。如下图所示:
单个container操作
在Containers
右边的倒三角中,就会出现弹窗,显示这个服务实际部署的Containers list,针对每个container
,有Log
,Monitor
,Upgrade
这三个操作,如下图所示:
Log
点击Log
按钮,然后可以看到这个container
的log,如下图所示:
Tail Lines
: 默认为10,将会展示给用户的日志的行数Follow
:默认不选中,如果选中,将会持续跟踪日志的变化,此时将不受行数的限制Log time range
:默认为空,可以选择展示日志的时间范围Reset
:点击Reset
按钮,将会清空日志内容
Monitor
点击Monitor
按钮可以看到当前container所占用的内存,网络资源等信息。如下图所示:
Upgrade
点击Upgrade
按钮可以对镜像进行更新。
需要注意:
- 升级会把你的服务重启了,请慎重。
- 升级镜像是对同一个镜像进行版本升级,比如你刚开始运行的镜像是nginx,你更新的时候必须也是nginx,只是后面版本的不同。
- 私有镜像还是要填写账号密码,请参考上面的部署步骤。如下图所示:
← ServiceOption说明 示例 →