Rancher Command Line Interface


Rancher命令行界面(CLI)是一个统一的工具来管理您的Rancher服务器。使用此工具,您可以控制您的环境,主机,栈,服务和容器。

安装

二进制文件可以直接从UI下载。该链接可以在UI中的页脚右侧找到。我们有Windows,Mac和Linux的二进制文件。您还可以查看我们的CLI发行版页面,直接下载二进制文件。

配置Rancher命令行界面

有几种方法可以配置Rancher CLI与Rancher进行交互时使用的设置,即Rancher URL和帐户API密钥。帐户API密钥可以在API中创建。

有什么将要使用的特定加载顺序。

  1. 在此期间rancher config,您将设置Rancher URL和API密钥。如果有多个环境,那么您将选择一个特定的环境。
  2. 您可以为相同的值设置环境变量,这将覆盖设置的值rancher config
  3. 如果您决定将值直接传递给Rancher命令,则这些值将用于Rancher命令超过任何其他值。

使用Rancher配置

您可以运行rancher config使用Rancher服务器设置配置。

$ rancher config
URL []: http://<server_ip>:8080
Access Key []: <accessKey_of_account_api_key>
Secret Key []:  <secretKey_of_account_api_key>
# If there are more than one environment,
# you will be asked to select which environment to work with
Environments:
[1] Default(1a5)
[2] k8s(1a10)
Select: 1
INFO[0017] Saving config to /Users/<username>/.rancher/cli.json

使用环境变量

您可以设置以下环境变量RANCHER_URLRANCHER_ACCESS_KEYRANCHER_SECRET_KEY

# Set the url that Rancher is on
$ export RANCHER_URL=http://<server_ip>:8080
# Set the access key, i.e. username
$ export RANCHER_ACCESS_KEY=<accessKey_of_account_api_key>
# Set the secret key, i.e. password
$ export RANCHER_SECRET_KEY=<secretKey_of_account_api_key>

如果您的Rancher服务器中有多个环境,您还需要设置一个环境变量来选择特定的环境,即RANCHER_cnVIRONMcnT

#设置要使用的环境,可以使用环境ID或环境名称 
$ export RANCHER_cnVIRONMcnT = < cnvironmcnt_id >

传递选项

如果您选择不运行rancher config或设置环境变量,则可以将与选项相同的值作为任何rancher命令的一部分传递。

$ rancher --url http:// server_ip:8080 --access-key < accessKey_of_account_api_key > --secret-key < secretKey_of_account_api_key > --cnv < cnvironmcnt_id > ps

使用Rancher CLI进行调试

使用Rancher CLI时,您可以将环境变量设置RANCHER_CLIcnT_DEBUGtrue,将所有CLI命令打印出正在进行的API调用的详细消息。

#打印所有CLI调用的详细消息 
$ export RANCHER_CLIcnT_DEBUG = true

如果您不想在每个CLI命令上进行详细的响应,请将环境变量设置RANCHER_CLIcnT_DEBUGfalse并传入--debug特定命令以获取详细消息。

$ rancher --debug cnv create newcnv

使用环境

如果您使用帐户API密钥,您将能够创建和更新环境。如果您使用环境API密钥,您将无法创建或更新其他环境,您将只能看到现有的环境。

$ rancher env ls
ID        NAME        STATE     CATALOG                           SYSTEM    DETAIL
1e1       zookeeper   healthy   catalog://community:zookeeper:1   false     
1e2       Default     healthy                                     false     
1e3       App1        healthy                                     false

使用特定主机

有一些命令(例如rancher dockerrancher ssh)需要选择要使用的特定主机。您可以设置一个环境变量来选择一个主机,即RANCHER_DOCKER_HOST通过或--host指定一个主机。

选择主机之前,您可以列出环境中的所有主机。

$ rancher hosts
ID        HOSTNAME      STATE     IP
1h1       host-1        active    111.222.333.444
1h2       host-3        active    111.222.333.445
1h3       host-2        active    111.222.333.446

现在,您可以使用主机ID或主机名设置环境变量RANCHER_DOCKER_HOST或传入,--host以选择其他主机。

#设置主机总是选择host-1(1h1) 
$ export RANCHER_DOCKER_HOST = 1h1
#列出在主机1上运行的容器
$ rancher docker ps
#列出在host-2 
$ rancher --host host-2 docker ps上运行的容器

使用服务和容器

列出所有的服务

在您所选的环境中,您可以查看在环境中运行的所有服务。

$ rancher ps
ID   TYPE                 NAME                IMAGE                       STATE     SCALE   ENDPOINTS            DETAIL
1s1  service              zookeeper/zk        rawmind/alpine-zk:3.4.8-4   healthy   3                              
1s2  service              Default/nginxApp    nginx                       healthy   1                              
1s4  service              App1/db1            mysql                       healthy   1                              
1s5  service              App1/wordpress      wordpress                   healthy   4                              
1s6  loadBalancerService  App1/wordpress-lb                               healthy   1       111.222.333.444:80

列出所有容器

您可以查看环境中的所有容器,而不是具体的服务。

$ rancher ps -c
ID      NAME                       IMAGE                              STATE     HOST   IP              DOCKER         DETAIL
1i1     zookeeper_zk_zk-volume_1   rawmind/alpine-volume:0.0.1-1      stopped   1h1                    a92b6d3dad18   
1i2     zookeeper_zk_zk-conf_1     rawmind/rancher-zk:0.3.3           stopped   1h1                    2e8085a4b517   
1i3     zookeeper_zk_1             rawmind/alpine-zk:3.4.8-4          healthy   1h1    10.42.150.2     e3ef1c6ff70e   
1i5     zookeeper_zk_zk-volume_2   rawmind/alpine-volume:0.0.1-1      stopped   1h2                    e716f562e0a4   
1i6     zookeeper_zk_zk-conf_2     rawmind/rancher-zk:0.3.3           stopped   1h2                    5cd1cebea5a3   
1i7     zookeeper_zk_2             rawmind/alpine-zk:3.4.8-4          healthy   1h2    10.42.88.102    21984a4445d1   
1i9     zookeeper_zk_zk-volume_3   rawmind/alpine-volume:0.0.1-1      stopped   1h3                    7c614003f08c   
1i10    zookeeper_zk_zk-conf_3     rawmind/rancher-zk:0.3.3           stopped   1h3                    53fb77cd8ae0   
1i11    zookeeper_zk_3             rawmind/alpine-zk:3.4.8-4          healthy   1h3    10.42.249.162   84a80eb8e037   
1i13    Default_nginxApp_1         nginx                              running   1h1    10.42.107.28    e1195a563280   
1i15    App1_db1_1                 mysql                              running   1h3    10.42.116.171   0624e0a7f2fc   
1i16    App1_wordpress_1           wordpress                          running   1h1    10.42.66.199    4bb77abebc08   
1i17    App1_wordpress-lb_1        rancher/lb-service-haproxy:v0.4.2  healthy   1h2    10.42.199.163   5d3a005278d3   
1i18    App1_wordpress_2           wordpress                          running   1h2    10.42.88.114    01ec967c49ac   
1i19    App1_wordpress_3           wordpress                          running   1h3    10.42.218.81    3aae3fc6163a   
1i20    App1_wordpress_4           wordpress                          running   1h1    10.42.202.31    0b67ef86db22

列出特定服务的容器

如果要查看特定服务的容器,可以通过添加服务ID或服务名称列出服务中运行的所有容器。

$ rancher ps 1s5
ID NAME IMAGE STATE HOST IP DOCKER DETAIL
1i16 App1_wordpress_1 wordpress运行1h1 10.42.66.199 4bb77abebc08   
1i18 App1_wordpress_2 wordpress running 1h2 10.42.88.114 01ec967c49ac   
1i19 App1_wordpress_3 wordpress running 1h3 10.42.218.81 3aae3fc6163a   
1i20 App1_wordpress_4 wordpress running 1h1 10.42.202.31 0b67ef86db22

使用Docker撰写文件启动简单的服务

要开始向Rancher添加服务,您可以创建一个简单的docker-compose.yml文件和可选的rancher-compose.yml文件。如果没有rancher-compose.yml文件,则所有服务将以1个容器的比例开始。

样品 docker-compose.yml

version: '2'
services:
  service1:
    image: nginx

样品 rancher-compose.yml

version: '2'
services:
  service1:
    image: nginx

创建文件后,可以将服务启动到Rancher服务器。

# Creating and starting a service without environment variables and selecting a stack
# If no stack is provided, the stack name will be the folder name that the command is running from
# If the stack does not exist in Rancher, it will be created
# Add in -d at the end to not block and log
$ rancher --url URL_of_Rancher --access-key <username_of_account_api_key> --secret-key <password_of_account_api_key> --env Default up -s stack1 -d

# Creating and starting a service with environment variables already set
# Add in -d at the end to not block and log
$ rancher up -s stack1 -d

# To change the scale of an existing service, you can use stackName/serviceName or service ID
$ rancher scale Default/service1=3
$ rancher scale 1s4=5

启动服务使用 Rancher run

如果您已使用Docker CLI添加服务,还可以使用Rancher添加容器rancher run

#服务应该是stackName / service_name 
$ rancher run --name stackA / service1 nginx

命令参考

要了解有关所有支持的命令的更多信息,请阅读我们的Rancher 命令文档。

results matching ""

    No results matching ""