VKube使用手册

如何购买v-kube服务

注册/登陆v-kube

第一次进入v-kube (opens new window)会定向到注册页面

alt text 一般地,使用系统随机助记词,只需输入设置的密码便可完成用户的注册。

登录

已经有VKube账号的,直接输入密码进行登录

alt text

查看可购服务

如下图所示,点击“Purchase”,出现可以可购买的服务,点击蓝色按钮order进入到购买配置,自行选择配置。

alt text

建立订单

如下图所示,目前有region,持久存储Persitent storage,端口选择Port specification,Resource Unit和购买时长Duration等选择。选择完配置之后点击Create按钮创建一个订单(仅包含一个服务,如需同时购买多个不同配置的服务,可以逐一添加至购物车再进行统一购买)

alt text

如下图所示,可在右上角购物车查看购物清单。此时在左侧打勾选择多个订单数据,然后点击Create按钮就会创建包含多个服务的订单。

alt text

订单详情

点击“My Orders”,查看订单详情,可以看到哪些订单已经付款,哪些订单未付款,点击“Pay”按钮会出现付款弹窗

alt text

付款弹窗

显示该订单价格,支付方式选项(USDV, VSYS),支付余额检查,订单ID等,点击Pay按钮后进入付款确认

alt text

已购服务

点击导航“My Services”可查看已购买的服务:Token(密钥),Refund(退款),Renew(续费)

alt text

如何使用v-kube服务

v-kube控制台

如下第一张图所示,在“My Services”页面点击Token按钮复制token。然后到“Container”页面下导入token查看container,如下第二张图所示。每个token对应一个Container。需要注意的是,Token只是保存在本地的缓存里面,这些token是以明文的形式存储在浏览器的local storage里面,清空浏览器缓存时这些数据将消失。添加和删除token并不会对后台数据以及Container产生影响,但是点击部署后,Container将会按照用户的配置部署该Container。

my services

my services

Container列表结构

container area 如上图所示,Container菜单栏有三个主要区域。

区域1:

左侧包括一个service搜索框,和一个service status条件筛选框。右侧,有Refresh按钮、Import按钮和Manage按钮。下面详细介绍各个按钮的作用。

  • Refresh按钮:刷新列表中所有container的状态。

  • Import按钮:导入token。

  • Manage按钮:

    • ImageHub按钮:点击ImageHub按钮然后再点击“Save Account”,将会出现下图所示的弹框,点击红色箭头所指的倒三角,将会看到可以选择的选项,为其添加账号和密码信息,这个信息将由系统报错。可以选择不设置,这样以来,你每次部署私有镜像的时候都需要填写一次账号和密码。 imagehub button

    • Synchronize按钮:使用不同的浏览器或者两台不同设备登录同一个账号,通过点击“Containers”左侧菜单栏,你看不到任何数据。这时候需要点击Synchronize按钮进行同步,把远端的数据同步过来。

区域2: 作为一个表头,说明区域3的每一列数据的含义。“Service ID”代表这个订单的服务号,“Container Status”指的是pod的状态,一般有Pending,Running, CrashLoopBackOff等等。 “Service Status”指服务当前的运行的状态(旁边的信息图标是用来打开弹窗显示详细的状态数据)。“Actions”区域提供对于container或者本地token的操作功能按钮。对于区域3中每一条数据的Actions,如果是service处于“Pending”时,用鼠标点击三个点,会展开一个小弹框,显示有DeployAliasContactPolicyDelete按钮。如果是成功部署后的container,可操作的按钮将会变多。

  • Deploy按钮: 如果是未部署的container会显示deploy的按钮。点击deploy将会打开一个弹窗,用于部署container。成功部署过后Container Status将会显示Running,Actions区域也不再显示Deploy按钮,而是其他的操作按钮。

  • Alias按钮:对于某个container,如果想要更新其内部访问端口和访问名。可以使用这个按钮,这样可以再同一个地区(region)内,都可以使用你设置的别名:端口来访问你的这个服务。

  • Contact按钮:对于某个服务,绑定邮箱邮箱之后,当这个服务出现任何异常的情况,会有相关的消息通知。例如服务过期了,或者进行Restart操作等。针对绑定邮箱操作,也可以在用户层面绑定。优先级是服务里面的邮箱优于用户层面的邮箱,例如,你购买有3个服务,其中一个绑定了邮箱A,用户层面绑定了邮箱B,对于绑定了邮箱A的服务,会发送相关通知到邮箱A,而其他2个服务将会发送通知到邮箱B中。如下图,点击用户头像,Account中可以绑定邮箱。 container status

  • Policy按钮:这个网络策略相当一个白名单,具体来说就是在同一个region内,哪一个服务可以访问当前这个服务。点击policy后再点击“Add Rules”,添加serviceID,最后点击Create按钮即可。那么只有添加的这些ServiceID的服务能访问你当前的这个服务。

  • Delete按钮:会将Local Storage内的token删除,不会影响远端container的运行。

区域3:

对于区域3中每一行代表的是一个contianer,也可称之为一个service。点击每个"Service ID"左侧的箭头图标可以打开折叠面板来查看订单详情,如下图所示。下面详细介绍下每个字段的含义: container status

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 status operation

container status detail

Container部署弹窗

左侧菜单栏Containers完成Import token之后,会看到有新的一条数据,对应的Service Status显示状态为ServicePending,对应Container的Actions 区域会显示Deploy按钮。

部署前 如下图所示,点击Deploy按钮进入到填写镜像信息页面进行填写。

alt text

部署步骤 1.如下图所示:

alt text

  • 第一步,选择你要部署的镜像属于DockerHub还是Github镜像库;

  • 第二步,是否是私有镜像,如果是,需要在旁边的方框打勾,然后填写账号和密码信息;以下是镜像格式的说明:

    • 公有镜像:Dockerhub公有镜像,推荐使用格式为:镜像名:tag(如:nginx:latest),Github公有镜像,推荐使用格式为:账户名/镜像名:tag
    • 私有镜像:Dockerhub私有镜像格式为:账户名/镜像库:tag,Github私有镜像格式为:账户名/镜像名:tag。对于私有镜像,需要填写对应镜像库用户名和密钥,密钥推荐使用PAT(Personal Access Token)。部署前会到相应仓库地址查询镜像,因此你需要保证对应tag的镜像在镜像仓库里是可读的;如下图所示,左侧红色框内会显示你填写的镜像是否存在。打勾表示存在,否则表示镜像找不到,请检查填写的镜像格式是否正确。 alt text
  • 第三步,填写容器的名字,这个不能乱写,需要符合一定的规则,容器名称可以包含字母(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的概念一样,可以设置容器启动时执行的参数。

container-deployment

3.点击Deploy按钮部署,提交部署指令前网页会校验每一项的输入,验证成功便可提交部署申请。部署成功弹窗关闭,会弹出一个部署成功的Alert提示框。 否则保持弹窗打开状态,并弹出部署失败的Alert提示框。

部署成功后 如下图所示:可以看到服务的状态由ServicePending变为了ServiceRunningContainer Status的状态由Pending变为了Running,另外Actions操作区的可选择的操作也变多了 alt text

Container相关操作

  1. 如下图所示,部署完成后,Actions区域可以对其containers进行的操作有:Restart,Stop,Config,Redeploy,Domain,Contract,Delete的操作;Notice区域可以看到消息提醒,例如容器发生异常奔溃后,你会收到消息;Containers区域可以对某个容器进行操作,例如更新软件镜像版本,监控某个容器使用的内存,CPU使用的情况等

alt text

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。

alt text

Config

点击Config操作,可以对container的配置文件内容和环境变量进行更改操作。

  • 用户可以选择某一个container中的某一个你想更改或者查看的配置文件。修改配置文件,可以进行手动配置,也可以选择上传文件。需要注意的是,上传文件操作是读取文件到前端,最终配置生效还需要点击Confirm按钮。

  • 环境变量手动配置,点击+,增加配置,点击-,减少配置,也可以选择文件上传,如下图所示: config first

config second

Redeploy

重新部署意味着你可以任意修改部署信息来作为一次新的部署。部署的参数意义和和Deploy一样。例如:第一次部署了nginx服务,redeploy的时候可以部署为redis服务,具体的部署步骤跟第一次一样。需要注意的是,重新部署后,之前部署的containers的Log会被删除。

Domain

VKUBE的域名服务功能需要用户在部署了自己的服务之后,把自己的域名配置(比如A Record)到nodeIP,nodeIP为对应用户服务所在机器上的IP地址。完成这一步之后,就可以使用VKUBE的域名服务功能,来帮助代理用户的服务了。设置信息如下所示,当完成设置后,就可以通过用户域名在Internet上,去访问在VKUBE上所部署的用户服务了。

container域名绑定所支持的操作

  1. 新增(支持绑定多域名):新增用户服务和用户域名之间的代理关系,使得用户域名可以在Internet上,去访问在VKUBE上所部署的用户服务了。对同一个用户服务,只要用户配置了多个域名映射(比如A Record),可以支持绑定多个域名。

  2. 'Unbind All'全部解绑:一次性解绑所有绑定在VKUBE的域名,注意这里只会接触在VKUBE中用户服务和用户域名之间的代理关系,不涉及用户域名映射的配置。

  3. 单个解绑

参数解释:

  • Domain:需要绑定到VKUNE的用户域名,例如:www.example.com
  • Container Port:用户容器所监听的端口号,例如:80
  • Letsencrypt:是否使用VKUBE提供的Letsencrypt生成的免费证书,如果选择了,系统会自动申请并绑定证书。

alt text

Alias

VKUBE的Alias功能可以给用户服务起别名,在同一个region中,用户的不同服务可以通过这个别名进行通信。

参数解释:

  • Alias: 用户可以填写自己喜欢的或者特别意义的字符,作为服务的别名。
  • Alias Port: 作为用户上面填写别名所配套的端口号,例如:80
  • Container Port: 用户服务程序所监听的端口号
  • Protocol: 用户服务程序所使用的网络协议,有TCP和UDP两种。

例子:

Alias mongo-url
Alias Port 27017
container Port 27017
Protocol TCP

当你完成设置后,在同一个region中,在VKUBE中的服务,就可以使用mongo-url:27017访问该服务了。

注意: 如果用户部署了网页服务,在浏览器中使用别名访问(比如:mongo-url:27017),那是不能访问得到的。

Contact

VKUBEContact功能为该用户服务绑定邮箱,当服务出现异常情况,会有相关的消息通知。目前将会和VKUBENotice信息同步,即Notice有什么新的信息,如果设置了邮箱,会发送给这个邮箱。

参数解释:

  • Your Email address: 用户可以填写自己的邮箱地址,作为服务的联系方式。
  • Verification code: 系统会发送验证码到这个邮箱,用户需要填写验证码,点击Verify Code按钮,绑定邮箱。

alt text

Delete

点击Delete按钮,就会把所操作的服务从当前页面中删除。该操作不会涉及服务器的任何变动,仅仅只是在用户端浏览器进行移除该用户服务的可视信息而已。如果需要恢复,需要重新到My Services中复制Token再到Containers页面进行Import,即重新导入。

Policy

VKUBEPolicy功能提供了一个白名单机制,可以控制不同服务之间的访问权限。一旦创建,除了该白名单中指定的服务,所有访问该服务的请求将会受限。比如创建了一个空白的白名单,那么没有任何服务可以访问该用户服务了。

操作流程:

  1. 点击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的服务
  2. 完成上述配置后,点击confirm,在主配置窗口,会看到刚刚所配置的信息,如果还想增加其他规则,可以继续点击Add Rules按钮。如果已经确认无误后,点击Create Policy按钮,完成Policy的创建。
  3. 也可以不添加Rule,直接创建Policy,这样所有服务都被禁止访问该用户服务。

Notice

VKUBENotice功能可以查看用户服务的一些状态的公告,例如:服务Out Of Memory的发生,服务快过期的提醒。如果用户关联了邮箱,系统会自动发送公告到邮箱。如下图所示:

alt text

单个container操作

Containers右边的倒三角中,就会出现弹窗,显示这个服务实际部署的Containers list,针对每个container,有LogMonitorUpgrade这三个操作,如下图所示:

alt text

Log

点击Log按钮,然后可以看到这个container的log,如下图所示:

alt text

  • Tail Lines: 默认为10,将会展示给用户的日志的行数
  • Follow:默认不选中,如果选中,将会持续跟踪日志的变化,此时将不受行数的限制
  • Log time range:默认为空,可以选择展示日志的时间范围
  • Reset:点击Reset按钮,将会清空日志内容
Monitor

点击Monitor按钮可以看到当前container所占用的内存,网络资源等信息。如下图所示:

alt text

Upgrade

点击Upgrade按钮可以对镜像进行更新。 需要注意:

  • 升级会把你的服务重启了,请慎重。
  • 升级镜像是对同一个镜像进行版本升级,比如你刚开始运行的镜像是nginx,你更新的时候必须也是nginx,只是后面版本的不同。
  • 私有镜像还是要填写账号密码,请参考上面的部署步骤。如下图所示: alt text
上次更新: 2024/10/21 上午2:12:53