天天看點

Openshift - Minishift 簡介及常用指令總彙歡迎使用Openshift - Minishift

Openshift - Minishift 常用指令總彙

  • 歡迎使用Openshift - Minishift
    • 安裝指令
    • 關閉指令
    • 啟動指令
    • 删除指令
    • OC指令
    • 項目和使用者:See a list of Projects & Users
    • 建立使用者,及建立admin使用者
    • 收集日志 Collect Logs
    • 檢視插件指令
    • OKD 3.11 Documentation
    • Openshift 管理
      • 通過Web Console
      • 通過CLI
      • 通過Rest API Call

歡迎使用Openshift - Minishift

OpenShift 是由紅帽公司推出的 PaaS 雲計算平台,供使用者建立網絡應用(App、網站)。

Openshift 目前共提供四種産品:OpenShift Online、OpenShift Enterprise、Openshift Dedicated 和 OpenShift Origin。 其中,OpenShift Online 是面向普通開發者和小微企業的線上公有雲平台;OpenShift Enterprise 是面向企業的私有雲平台;Openshift Dedicated 是面向在AWS/Google Cloud上的私有叢集;OpenShift Origin 是一個開源項目,是構成前兩個的基礎。

OpenShift Enterprise是其私有雲版本這是一個開源軟體,由 OpenShift Origin管理,支援GitHub,開發者可以使用Git來釋出自己的web應用程式到平台上。(source: wiki)

Minishift 是一個可以讓你将 OpenShift Origin 安裝并運作在本地虛拟機上的工具。從原理上講,它就是在虛拟機中運作可配置的 oc cluster up 的過程。是以,他也是在本地運作一個單節點的 OpenShift 叢集,用于做本地開發環境。

安裝指令

// An highlighted block
$ minishift.exe start --vm-driver virtualbox;
           

安裝成功的輸出:

// An highlighted block
$ minishift.exe start --vm-driver virtualbox
-- Starting profile 'minishift'
-- Checking if https://github.com is reachable (using proxy: "No") ... OK
-- Checking if requested OpenShift version 'v3.9.0' is valid ... OK
-- Checking if requested OpenShift version 'v3.9.0' is supported ... OK
-- Checking if requested hypervisor 'virtualbox' is supported on this platform ... OK
-- Checking if VirtualBox is installed ... OK
-- Checking the ISO URL ... OK
-- Downloading OpenShift binary 'oc' version 'v3.9.0'
 40.81 MiB / 40.81 MiB [===================================================================================] 100.00% 0s-- Downloading OpenShift v3.9.0 checksums ... OK
-- Checking if provided oc flags are supported ... OK
-- Starting local OpenShift cluster using 'virtualbox' hypervisor ...
-- Minishift VM will be configured with ...
   Memory:    2 GB
   vCPUs :    2
   Disk size: 20 GB

   Downloading ISO 'https://github.com/minishift/minishift-b2d-iso/releases/download/v1.2.0/minishift-b2d.iso'
 40.00 MiB / 40.00 MiB [===================================================================================] 100.00% 0s
-- Starting Minishift VM .................................................. OK
-- Checking for IP address ... OK
-- Checking for nameservers ... OK
-- Checking if external host is reachable from the Minishift VM ...
   Pinging 8.8.8.8 ... OK
-- Checking HTTP connectivity from the VM ...
   Retrieving http://minishift.io/index.html ... OK
-- Checking if persistent storage volume is mounted ... OK
-- Checking available disk space ... 0% used OK
   Importing 'openshift/origin:v3.9.0' . CACHE MISS
   Importing 'openshift/origin-docker-registry:v3.9.0' . CACHE MISS
   Importing 'openshift/origin-haproxy-router:v3.9.0' . CACHE MISS
-- OpenShift cluster will be configured with ...
   Version: v3.9.0
Pulling image openshift/origin:v3.9.0
Pulled 1/4 layers, 26% complete
Pulled 1/4 layers, 55% complete
Pulled 2/4 layers, 82% complete
Pulled 3/4 layers, 98% complete
Pulled 4/4 layers, 100% complete
Extracting
Image pull complete
Using Docker shared volumes for OpenShift volumes
Using 192.168.99.107 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.

The server is accessible via web console at:
    https://192.168.99.107:8443

You are logged in as:
    User:     developer
    Password: <any value>

To login as administrator:
    oc login -u system:admin

Skipping addon 'admissions-webhook' in 'C:\Users\YUCHEN\.minishift\addons\admissions-webhook' due to parse error: Unable to process command: 'PATCH := cat patch.json'
-- Exporting of OpenShift images is occuring in background process with pid 17460.
           

關閉指令

// An highlighted block

$ minishift stop [flags]

           

啟動指令

// An highlighted block

$ minishift start --vm-driver virtualbox
$ minishift config set vm-driver virtualbox

           

删除指令

// An highlighted block
$ minishift delete
$ minishift delete --clear-cache

           

OC指令

把 oc 指令添加到PATH中

// An highlighted block
$ minishift oc-env  // 輸出要添加到PATH中的export指令:
SET PATH=C:\Users\username\.minishift\cache\oc\v3.9.0\windows;%PATH%
REM Run this command to configure your shell:
REM     @FOR /f "tokens=*" %i IN ('minishift oc-env') DO @call %i)
$ SET PATH=C:\Users\username\.minishift\cache\oc\v3.9.0\windows;%PATH%
$ oc login -u system:admin
           

項目和使用者:See a list of Projects & Users

項目清單

// An highlighted block
$ oc get projects
           

使用者清單

// An highlighted block
$ oc get users
           

建立使用者,及建立admin使用者

在Web console中直接輸入任何username,即可建立使用者,例如username為administrator:

然後将該使用者加到叢集角色中,角色為cluster-admin

// An highlighted block
$ oc adm policy add-cluster-role-to-user cluster-admin administrator

           

收集日志 Collect Logs

// An highlighted block

$ minishift start --show-libmachine-logs -v5
           

檢視插件指令

// An highlighted block
## 使用以下指令檢視目前插件的啟用狀态
$ minishift addon list

## 使用以下指令啟用一個插件,例如我想要啟用 anyuid 插件
$ minishift addon enable anyuid
           

OKD 3.11 Documentation

https://docs.okd.io/3.11/welcome/index.html

連結: link.

Openshift 管理

Openshift管理有以下三種途徑:

通過Web Console

通過CLI

OC Tool - Openshift Client

OC 登入:

// An highlighted block

$ oc login
$ oc login -u <username> -p <password>
           

OC 退出:

// An highlighted block

$ oc logout
           

通過Rest API Call

// An highlighted block

$ curl -k https://localhost:8443/oapi/v1/projects \
-H "Authorization: Bearer <Token>"
           

注意:Token有效期為24小時

Token可通過以下指令查詢

// An highlighted block

$ oc login -u developer -p developer //先用developer使用者名登入
$ oc whoami -t
           

輸出為項目清單的Jason格式,例如

// An highlighted block

$ curl -k https://192.168.99.107:8443/oapi/v1/projects \-H "Authorization: Bearer u-SVoMxAJ2nA1dmUyUsXeW0TIqv62MsDlOibnf6_WsM"

## 輸出為以下格式
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "projects is forbidden: User \"system:anonymous\" cannot list projects at the cluster scope: User \"system:anonymous\" cannot list all projects in the cluster",
  "reason": "Forbidden",
  "details": {
    "kind": "projects"
  },
  "code": 403
}curl: (6) Could not resolve host: \-H
curl: (3) Port number ended with ' '
           

好啦,這期就這裡。接着我們會讨論如何在Openshift的項目中添加Application。