如何在自己的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登录

 

posted @ 2019-06-25 08:24  ericnie  阅读(2247)  评论(3编辑  收藏  举报