• 如何在自己的MacBook上体验OpenShift 4.1


    在4版本后,CDK和minishift基本不跟新了,取代的是一个CodeReady Containter,定位和CDK以及minishift一样,简称CRC,是在本地环境中运行一个开发环境,目前仍然是在Alpha版本阶段,没有正式的GA,在4.2版本会GA.

    CRC目前只支持linux和mac环境,windows环境的支持正在开发中。

    1.下载

    需要下载的包括如下:

    • CRC:

    https://github.com/code-ready/crc/releases

    v0.87.0-alpha-4.1.0的assets里面下载crc-0.87.0-darwin-amd64.tar.xz

    • Images:

    http://cdk-builds.usersys.redhat.com/builds/crc/4.1.0/virtualbox/

    这个网站需要登录redhat内网

    • OC客户端

    http://cloud.redhat.com

    下载完成后放到同一个目录下

    2.设置运行

    ./crc setup

    这一步需要上网下载oc.tar.gz, 因为速度慢我想设置一个本地的mirror.openshift.com,结果证书验证不过。第二天网速正常就过了。输出如下

    然后启动

    ericdeMacBook-Pro:openshift ericnie$ ./crc start -d virtualbox -b crc_vbox_4.1.0.tar.xz
    crc - Local OpenShift 4.x cluster
    INFO Checking if oc binary is cached
    INFO Checking if VirtualBox is Installed
    INFO Checking file permissions for resolver
    INFO Extracting the Bundle tarball ...
    INFO Creating VM ...
    INFO Bridge IP on the host: 192.168.130.1
    INFO Restarting the network
    INFO Check internal and public dns query ...
    WARN Failed Public dns query: ssh command error:
    command : host -R 3 quay.io
    err     : exit status 1
    output  : Host quay.io not found: 3(NXDOMAIN)
     :
    INFO Starting OpenShift cluster ... [waiting 3m]
    INFO To access the cluster using 'oc', run 'oc login -u kubeadmin -p btGHD-oHFCZ-xTZUv-bTRsv https://api.crc.testing:6443'
    INFO Access the OpenShift web-console here: https://console-openshift-console.apps-crc.testing
    INFO Login to the console with user: kubeadmin, password: btGHD-oHFCZ-xTZUv-bTRsv
    WARN Make sure add 'nameserver 192.168.130.100' as first entry to '/etc/resolv.conf' file
    INFO Running

    看一下需要的配置

    ericdeMacBook-Pro:openshift ericnie$ crc config view
    crc - Local OpenShift 4.x cluster
    - bundle                             : crc_vbox_4.1.0.tar.xz
    - cpus                               : 4
    - memory                             : 8192
    - vm-driver                          : hyperkit

    我的mac配置是8G,但这个虚拟机就要用8G

    3.访问

    登录

    ericdeMacBook-Pro:openshift ericnie$ oc login -u kubeadmin -p btGHD-oHFCZ-xTZUv-bTRsv https://api.crc.testing:6443
    The server uses a certificate signed by an unknown authority.
    You can bypass the certificate check, but any data you send to the server could be intercepted by others.
    Use insecure connections? (y/n): y
    
    Login successful.
    
    You have access to the following projects and can switch between them with 'oc project <projectname>':
    
      * default
        kube-public
        kube-system
        openshift
        openshift-apiserver
        openshift-apiserver-operator
        openshift-authentication
        openshift-authentication-operator
        openshift-cloud-credential-operator
        openshift-cluster-machine-approver
        openshift-cluster-node-tuning-operator
        openshift-cluster-samples-operator
        openshift-cluster-storage-operator
        openshift-cluster-version
        openshift-config
        openshift-config-managed
        openshift-console
        openshift-console-operator
        openshift-controller-manager
        openshift-controller-manager-operator
        openshift-dns
        openshift-dns-operator
        openshift-etcd
        openshift-image-registry
        openshift-infra
        openshift-ingress
        openshift-ingress-operator
        openshift-kube-apiserver
        openshift-kube-apiserver-operator
        openshift-kube-controller-manager
        openshift-kube-controller-manager-operator
        openshift-kube-scheduler
        openshift-kube-scheduler-operator
        openshift-machine-api
        openshift-machine-config-operator
        openshift-marketplace
        openshift-monitoring
        openshift-multus
        openshift-network-operator
        openshift-node
        openshift-operator-lifecycle-manager
        openshift-operators
        openshift-sdn
        openshift-service-ca
        openshift-service-ca-operator
        openshift-service-catalog-apiserver-operator
        openshift-service-catalog-controller-manager-operator
    
    Using project "default".

    按照提示设置/etc/resolv.conf, 主要是添加192.168.130.100这个解析,所有的master地址 :api.crc.testing 和 console域名console-openshift-console.apps-crc.testing都解析到虚拟机上。

    ericdeMacBook-Pro:openshift ericnie$ cat /etc/resolv.conf
    #
    # macOS Notice
    #
    # This file is not consulted for DNS hostname resolution, address
    # resolution, or the DNS query routing mechanism used by most
    # processes on this system.
    #
    # To view the DNS configuration used by this system, use:
    #   scutil --dns
    #
    # SEE ALSO
    #   dns-sd(1), scutil(8)
    #
    # This file is automatically generated.
    #
    nameserver 192.168.130.100
    nameserver 192.168.0.102
    nameserver 202.96.134.33

    CSR批准,环境刚建立完成是没有批准的,需要手工批一下

    ericdeMacBook-Pro:openshift ericnie$ oc get csr
    NAME        AGE       REQUESTOR                        CONDITION
    csr-2vnqs   17d       system:node:crc-4gdnp-master-0   Pending
    csr-4lpf5   17d       system:node:crc-4gdnp-master-0   Pending
    csr-4n67j   17d       system:node:crc-4gdnp-master-0   Pending
    csr-4pv76   17d       system:node:crc-4gdnp-master-0   Pending
    csr-5t449   17d       system:node:crc-4gdnp-master-0   Pending
    csr-6rpkz   17d       system:node:crc-4gdnp-master-0   Pending
    csr-88dx8   17d       system:node:crc-4gdnp-master-0   Pending
    csr-9cphd   17d       system:node:crc-4gdnp-master-0   Pending
    csr-c8cds   17d       system:node:crc-4gdnp-master-0   Pending
    csr-d249k   17d       system:node:crc-4gdnp-master-0   Pending
    csr-j54cg   17d       system:node:crc-4gdnp-master-0   Pending
    csr-jx6ls   17d       system:node:crc-4gdnp-master-0   Pending
    csr-l4mmk   17d       system:node:crc-4gdnp-master-0   Pending
    csr-l99nh   17d       system:node:crc-4gdnp-master-0   Pending
    csr-mm64p   17d       system:node:crc-4gdnp-master-0   Pending
    csr-mtjgp   17d       system:node:crc-4gdnp-master-0   Pending
    csr-pv82g   17d       system:node:crc-4gdnp-master-0   Pending
    csr-qpwc4   17d       system:node:crc-4gdnp-master-0   Approved,Issued
    csr-qs9nf   17d       system:node:crc-4gdnp-master-0   Pending
    csr-t2sb6   17d       system:node:crc-4gdnp-master-0   Pending
    csr-vp6pb   4m        system:node:crc-4gdnp-master-0   Pending
    csr-vpqpc   17d       system:node:crc-4gdnp-master-0   Pending
    csr-wb9r7   17d       system:node:crc-4gdnp-master-0   Pending
    csr-wglrj   17d       system:node:crc-4gdnp-master-0   Pending
    csr-x9dvz   17d       system:node:crc-4gdnp-master-0   Pending

    批准命令为,大家可以写一个shell脚本一次批准生效

    ericdeMacBook-Pro:openshift ericnie$ oc adm certificate approve csr-j54cg csr-d249k csr-c8cds csr-9cphd csr-88dx8 csr-6rpkz
    certificatesigningrequest "csr-j54cg" approved
    certificatesigningrequest "csr-d249k" approved
    certificatesigningrequest "csr-c8cds" approved
    certificatesigningrequest "csr-9cphd" approved
    certificatesigningrequest "csr-88dx8" approved
    certificatesigningrequest "csr-6rpkz" approved

    co是Cluster Operator? 可见machine-config, marketplace(涉及的operatorhub)和monitor(涉及集群监控)都没有在这个开发环境中。

    ericdeMacBook-Pro:openshift ericnie$ oc get co
    NAME                                 VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
    authentication                       4.1.0     True        False         False      18d
    cloud-credential                     4.1.0     True        False         False      18d
    cluster-autoscaler                   4.1.0     True        False         False      18d
    console                              4.1.0     True        False         False      18d
    dns                                  4.1.0     True        False         False      55m
    image-registry                       4.1.0     True        False         False      54m
    ingress                              4.1.0     True        False         False      56m
    kube-apiserver                       4.1.0     True        False         False      18d
    kube-controller-manager              4.1.0     True        False         False      18d
    kube-scheduler                       4.1.0     True        False         False      18d
    machine-api                          4.1.0     True        False         False      18d
    machine-config                       4.1.0     False       False         True       18d
    marketplace                          4.1.0     False       False         False      18d
    monitoring                                     False       True          True       18d
    network                              4.1.0     True        False         False      18d
    node-tuning                          4.1.0     True        False         False      55m
    openshift-apiserver                  4.1.0     True        False         False      54m
    openshift-controller-manager         4.1.0     True        False         False      51m
    openshift-samples                    4.1.0     True        False         False      18d
    operator-lifecycle-manager           4.1.0     True        False         False      18d
    operator-lifecycle-manager-catalog   4.1.0     True        False         False      18d
    service-ca                           4.1.0     True        False         False      18d
    service-catalog-apiserver            4.1.0     True        False         False      18d
    service-catalog-controller-manager   4.1.0     True        False         False      18d
    storage                              4.1.0     True        False         False      18d

    看一下nodes,可见一台机器既做了master,又做了worker

    ericdeMacBook-Pro:openshift ericnie$ oc get nodes
    NAME                 STATUS   ROLES           AGE   VERSION
    crc-4gdnp-master-0   Ready    master,worker   18d   v1.13.4+cb455d664

    访问管理控制台

    https://console-openshift-console.apps-crc.testing

    通过kubeadmin登录

  • 相关阅读:
    AX ERROR: Could not find my mock parent, most likely I am stale 不及格的程序员
    利用Segue在视图控制器间传值的问题 不及格的程序员
    Creating a Singleton Instance 不及格的程序员
    iPad 通知 UIKeyboardWillShowNotification 不会在keyBoard处在Undock状态下接到通知 不及格的程序员
    Why RootViewController's view is rotated Automatically by System when the app first loaded? 不及格的程序员
    如何弹出UIDatePicker最好 不及格的程序员
    jQuery开始做恶了 不及格的程序员
    what is the SEL,id and IMP,Class ,Method? 不及格的程序员
    Objectivec 字符串比较的陷井 不及格的程序员
    Unable to create any keyboard shortcuts after the iOS 6.1.3 update on iPad. 不及格的程序员
  • 原文地址:https://www.cnblogs.com/ericnie/p/11080687.html
Copyright © 2020-2023  润新知