running minishift (ongoing)
Situation forced me to learn kubernetes..
- machine: Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz 32GB RAM / 240GB SSD / RTL8x11 / I219-V (Liva Z plus)
- os: CentOS Linux release 7.7.1908 (Core), updated, minimal + libvirt stuffs + GUI + virt-install + (epel) Xfce + (epel) dkms + (epel) xrdp + Intel e1000e driver
- first obtain minishift tarball and docker-machine-driver-kvm-centos7 binary renamed as docker-machine-driver-kvm and place them under /usr/local/bin
- minishift fetches artifacts under $HOME/.minishift/cache (keep them)
- https://github.com/minishift/minishift/releases/download/v1.34.2/minishift-1.34.2-linux-amd64.tgz
- https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-centos7
- https://github.com/minishift/minishift-centos-iso/releases/download/v1.16.0/minishift-centos7.iso
[root@localhost ~]# minishift start --cpus 3 --memory 12GB --disk-size 30GB --skip-startup-checks -- Starting profile 'minishift' -- Starting the OpenShift cluster using 'kvm' hypervisor ... -- Minishift VM will be configured with ... Memory: 12 GB vCPUs : 3 Disk size: 30 GB -- Starting Minishift VM ................. OK -- Writing current configuration for static assignment of IP address ... WARN Importing 'openshift/origin-control-plane:v3.11.0' . CACHE MISS Importing 'openshift/origin-docker-registry:v3.11.0' CACHE MISS Importing 'openshift/origin-haproxy-router:v3.11.0' CACHE MISS -- OpenShift cluster will be configured with ... Version: v3.11.0 -- Pulling the OpenShift Container Image .............................................................. OK -- Copying oc binary from the OpenShift container image to VM ... OK -- Starting OpenShift cluster .................................................................................................. Getting a Docker client ... Checking if image openshift/origin-control-plane:v3.11.0 is available ... Pulling image openshift/origin-cli:v3.11.0 E0113 09:54:47.761966 2505 helper.go:173] Reading docker config from /home/docker/.docker/config.json failed: open /home/docker/.docker/config.json: no such file or directory, will attempt to pull image docker.io/openshift/origin-cli:v3.11.0 anonymously Image pull complete Pulling image openshift/origin-node:v3.11.0 E0113 09:54:52.918260 2505 helper.go:173] Reading docker config from /home/docker/.docker/config.json failed: open /home/docker/.docker/config.json: no such file or directory, will attempt to pull image docker.io/openshift/origin-node:v3.11.0 anonymously Pulled 5/6 layers, 84% complete Pulled 5/6 layers, 87% complete Pulled 5/6 layers, 88% complete Pulled 5/6 layers, 92% complete Pulled 5/6 layers, 97% complete Pulled 6/6 layers, 100% complete Extracting Image pull complete Checking type of volume mount ... Determining server IP ... Using public hostname IP 192.168.42.69 as the host IP Checking if OpenShift is already running ... Checking for supported Docker version (=>1.22) ... Checking if insecured registry is configured properly in Docker ... Checking if required ports are available ... Checking if OpenShift client is configured properly ... Checking if image openshift/origin-control-plane:v3.11.0 is available ... Starting OpenShift using openshift/origin-control-plane:v3.11.0 ... I0113 09:57:38.958438 2505 config.go:40] Running "create-master-config" I0113 09:57:41.604090 2505 config.go:46] Running "create-node-config" I0113 09:57:43.234295 2505 flags.go:30] Running "create-kubelet-flags" I0113 09:57:43.722584 2505 run_kubelet.go:49] Running "start-kubelet" I0113 09:57:43.959146 2505 run_self_hosted.go:181] Waiting for the kube-apiserver to be ready ... I0113 10:00:25.016128 2505 interface.go:26] Installing "kube-proxy" ... I0113 10:00:25.016237 2505 interface.go:26] Installing "kube-dns" ... I0113 10:00:25.016281 2505 interface.go:26] Installing "openshift-service-cert-signer-operator" ... I0113 10:00:25.016354 2505 interface.go:26] Installing "openshift-apiserver" ... I0113 10:00:25.016441 2505 apply_template.go:81] Installing "kube-proxy" I0113 10:00:25.016498 2505 apply_template.go:81] Installing "openshift-apiserver" I0113 10:00:25.021750 2505 apply_template.go:81] Installing "kube-dns" I0113 10:00:25.023147 2505 apply_template.go:81] Installing "openshift-service-cert-signer-operator" I0113 10:00:29.387405 2505 interface.go:41] Finished installing "kube-proxy" "kube-dns" "openshift-service-cert-signer-operator" "openshift-apiserver" I0113 10:03:39.479007 2505 run_self_hosted.go:242] openshift-apiserver available I0113 10:03:39.479785 2505 interface.go:26] Installing "openshift-controller-manager" ... I0113 10:03:39.479809 2505 apply_template.go:81] Installing "openshift-controller-manager" I0113 10:03:42.732668 2505 interface.go:41] Finished installing "openshift-controller-manager" Adding default OAuthClient redirect URIs ... Adding registry ... Adding router ... Adding sample-templates ... Adding persistent-volumes ... Adding centos-imagestreams ... Adding web-console ... I0113 10:03:42.758204 2505 interface.go:26] Installing "openshift-image-registry" ... I0113 10:03:42.758223 2505 interface.go:26] Installing "openshift-router" ... I0113 10:03:42.758235 2505 interface.go:26] Installing "sample-templates" ... I0113 10:03:42.758245 2505 interface.go:26] Installing "persistent-volumes" ... I0113 10:03:42.758262 2505 interface.go:26] Installing "centos-imagestreams" ... I0113 10:03:42.758277 2505 interface.go:26] Installing "openshift-web-console-operator" ... I0113 10:03:42.758640 2505 apply_template.go:81] Installing "openshift-web-console-operator" I0113 10:03:42.760233 2505 interface.go:26] Installing "sample-templates/dancer quickstart" ... I0113 10:03:42.760263 2505 interface.go:26] Installing "sample-templates/django quickstart" ... I0113 10:03:42.760278 2505 interface.go:26] Installing "sample-templates/nodejs quickstart" ... I0113 10:03:42.760291 2505 interface.go:26] Installing "sample-templates/rails quickstart" ... I0113 10:03:42.760304 2505 interface.go:26] Installing "sample-templates/jenkins pipeline ephemeral" ... I0113 10:03:42.760316 2505 interface.go:26] Installing "sample-templates/mongodb" ... I0113 10:03:42.760328 2505 interface.go:26] Installing "sample-templates/mariadb" ... I0113 10:03:42.760341 2505 interface.go:26] Installing "sample-templates/mysql" ... I0113 10:03:42.760354 2505 interface.go:26] Installing "sample-templates/postgresql" ... I0113 10:03:42.760368 2505 interface.go:26] Installing "sample-templates/cakephp quickstart" ... I0113 10:03:42.760381 2505 interface.go:26] Installing "sample-templates/sample pipeline" ... I0113 10:03:42.760463 2505 apply_list.go:67] Installing "sample-templates/sample pipeline" I0113 10:03:42.761561 2505 apply_list.go:67] Installing "centos-imagestreams" I0113 10:03:42.761884 2505 apply_list.go:67] Installing "sample-templates/dancer quickstart" I0113 10:03:42.762110 2505 apply_list.go:67] Installing "sample-templates/django quickstart" I0113 10:03:42.762285 2505 apply_list.go:67] Installing "sample-templates/nodejs quickstart" I0113 10:03:42.762469 2505 apply_list.go:67] Installing "sample-templates/rails quickstart" I0113 10:03:42.762679 2505 apply_list.go:67] Installing "sample-templates/jenkins pipeline ephemeral" I0113 10:03:42.762989 2505 apply_list.go:67] Installing "sample-templates/mongodb" I0113 10:03:42.763211 2505 apply_list.go:67] Installing "sample-templates/mariadb" I0113 10:03:42.763396 2505 apply_list.go:67] Installing "sample-templates/mysql" I0113 10:03:42.763571 2505 apply_list.go:67] Installing "sample-templates/postgresql" I0113 10:03:42.763844 2505 apply_list.go:67] Installing "sample-templates/cakephp quickstart" I0113 10:03:56.694032 2505 interface.go:41] Finished installing "sample-templates/dancer quickstart" "sample-templates/django quickstart" "sample-templates/nodejs quickstart" "sample-templates/rails quickstart" "sample-templates/jenkins pipeline ephemeral" "sample-templates/mongodb" "sample-templates/mariadb" "sample-templates/mysql" "sample-templates/postgresql" "sample-templates/cakephp quickstart" "sample-templates/sample pipeline" I0113 10:05:12.172803 2505 interface.go:41] Finished installing "openshift-image-registry" "openshift-router" "sample-templates" "persistent-volumes" "centos-imagestreams" "openshift-web-console-operator" Login to server ... Creating initial project "myproject" ... Server Information ... OpenShift server started. The server is accessible via web console at: https://192.168.42.69:8443/console You are logged in as: User: developer Password: <any> To login as administrator: oc login -u system:admin -- Exporting of OpenShift images is occuring in background process with pid 9045. [root@localhost ~]# oc login -u system:admin Logged into "https://192.168.42.69:8443" as "system:admin" using existing credentials. You have access to the following projects and can switch between them with 'oc project <projectname%gt;': default kube-dns kube-proxy kube-public kube-system * myproject openshift openshift-apiserver openshift-controller-manager openshift-core-operators openshift-infra openshift-node openshift-service-cert-signer openshift-web-console Using project "myproject". [root@localhost ~]# oc get all No resources found. [root@localhost ~]# oc -n kube-system get all NAME READY STATUS RESTARTS AGE pod/kube-controller-manager-localhost 1/1 Running 0 5m pod/kube-scheduler-localhost 1/1 Running 0 6m pod/master-api-localhost 1/1 Running 0 5m pod/master-etcd-localhost 1/1 Running 0 6m [root@localhost ~]# minishift test Error: unknown command "test" for "minishift" Run 'minishift --help' for usage. unknown command "test" for "minishift" [root@localhost ~]# minishift status Minishift: Running Profile: minishift OpenShift: Running (openshift v3.11.0+7876dd5-361) DiskUsage: 11% of 29G (Mounted On: /mnt/sda1) CacheUsage: 1.357 GB (used by oc binary, ISO or cached images)
[root@localhost ~]# cut -b 68-196 dockerpsnotrunc.txt | sort -u | perl -pae 's/\s+$/\n/;' docker.io/openshift/origin-control-plane@sha256:baebaf5dbc8c30f5e3730de826702d9456553af1b6b215bc71e4aa48acf589eb docker.io/openshift/origin-hyperkube@sha256:51cd1e7ffcffa1d773a26e91905939399487cfc383d7171f68c1aacf416ee9dc docker.io/openshift/origin-hypershift@sha256:5bb68a87855adac26bfd986567db619f54293e91f8f2018efb9f636fd98c314c docker.io/openshift/origin-service-serving-cert-signer@sha256:699e649874fb8549f2e560a83c4805296bdf2cef03a5b41fa82b3820823393de IMAGE openshift/origin-node:v3.11.0 openshift/origin-pod:v3.11.0 sha256:47dadf9d43b6773bdc8e10548556523183520011c9af9c1b821ecf980bf8ea1e sha256:4f31abec8dcc8c816e64c78dcfa3b1ec79093c9e02a3220a860386dc72e97dcb sha256:7aaff4d7211b65aab66cb1b79629d0a8b2943d057fffb6c5934b7fac912f86c8 sha256:9dffb2abf1ddfb74db55e1852d71e6441f872c174559ecb7171d0ce0a1157a21 sha256:be30b6cce5fa6dd97c555e8983874137e4b3b64672093ce6551b65ea80cb17b8 [root@localhost ~]# cut -b 197-2066 dockerpsnotrunc.txt | sort -u | perl -pae 's/\s+$/\n/;' "/bin/bash -c '#!/bin/bash\nset -euo pipefail\nif -f /etc/origin/master/master.env ; then\n set -o allexport\n source /etc/origin/master/master.env\nfi\nexec hypershift openshift-kube-apiserver --config=/etc/origin/master/master-config.yaml\n'" "/bin/bash -c '#/bin/bash -xe\nfunction generate_pv() {\n local basedir=\"${1}\"\n local name=\"${2}\"\ncat <<EOF\napiVersion: v1\nkind: PersistentVolume\nmetadata:\n name: ${name}\n labels:\n volume: ${name}\nspec:\n capacity:\n storage: 100Gi\n accessModes:\n - ReadWriteOnce\n - ReadWriteMany\n - ReadOnlyMany\n hostPath:\n path: ${basedir}/${name}\n persistentVolumeReclaimPolicy: Recycle\nEOF\n}\n\nfunction setup_pv_dir() {\n local dir=\"${1}\"\n if ! -d \"${dir}\" ; then\n mkdir -p \"${dir}\"\n fi\n if ! chcon -t svirt_sandbox_file_t \"${dir}\" &> /dev/null; then\n echo \"Not setting SELinux content for ${dir}\"\n fi\n chmod 770 \"${dir}\"\n}\n\nfunction create_pv() {\n local basedir=\"${1}\"\n local name=\"${2}\"\n\n setup_pv_dir \"${basedir}/${name}\"\n if ! oc get pv \"${name}\" &> /dev/null; then\n generate_pv \"${basedir}\" \"${name}\" | oc create -f -\n else\n echo \"persistentvolume ${name} already exists\"\n fi\n}\n\nbasedir=\"/var/lib/minishift/base/openshift.local.pv\"\n\nfor i in $(seq -f \"%04g\" 1 100); do\n create_pv \"${basedir}\" \"pv${i}\"\ndone\n'" "/bin/bash -c '#!/bin/sh\nset -o allexport\nexec openshift start etcd --config=/etc/origin/master/master-config.yaml\n'" "/bin/sh -c '/usr/bin/dockerregistry ${REGISTRY_CONFIGURATION_PATH}'" COMMAND "hyperkube kube-controller-manager --enable-dynamic-provisioning=true --use-service-account-credentials=true --leader-elect-retry-period=3s --leader-elect-resource-lock=configmaps --controllers=* --controllers=-ttl --controllers=-bootstrapsigner --controllers=-tokencleaner --controllers=-horizontalpodautoscaling --pod-eviction-timeout=5m --cluster-signing-key-file= --cluster-signing-cert-file= --experimental-cluster-signing-duration=720h --root-ca-file=/etc/origin/master/ca-bundle.crt --port=10252 --service-account-private-key-file=/etc/origin/master/serviceaccounts.private.key --kubeconfig=/etc/origin/master/openshift-master.kubeconfig --openshift-config=/etc/origin/master/master-config.yaml" "hyperkube kubelet --address=0.0.0.0 --allow-privileged=true --anonymous-auth=true --authentication-token-webhook=true --authentication-token-webhook-cache-ttl=5m --authorization-mode=Webhook --authorization-webhook-cache-authorized-ttl=5m --authorization-webhook-cache-unauthorized-ttl=5m --cadvisor-port=0 --cgroup-driver=systemd --client-ca-file=/var/lib/origin/openshift.local.config/node/node-client-ca.crt --cluster-domain=cluster.local --container-runtime-endpoint=unix:///var/run/dockershim.sock --containerized=true --experimental-dockershim-root-directory=/var/lib/dockershim --fail-swap-on=false --healthz-bind-address= --healthz-port=0 --host-ipc-sources=api --host-ipc-sources=file --host-network-sources=api --host-network-sources=file --host-pid-sources=api --host-pid-sources=file --hostname-override=localhost --http-check-frequency=0s --image-service-endpoint=unix:///var/run/dockershim.sock --iptables-masquerade-bit=0 --kubeconfig=/var/lib/origin/openshift.local.config/node/node.kubeconfig --max-pods=250 --network-plugin= --node-ip= --pod-infra-container-image=openshift/origin-pod:v3.11.0 --port=10250 --read-only-port=0 --register-node=true --root-dir=/var/lib/minishift/base/openshift.local.volumes --tls-cert-file=/var/lib/origin/openshift.local.config/node/server.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 --tls-cipher-suites=TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 --tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 --tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 --tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_256 "hyperkube kube-scheduler --leader-elect=true --leader-elect-resource-lock=configmaps --port=10251 --kubeconfig=/etc/origin/master/openshift-master.kubeconfig --policy-config-file=" "hypershift experimental openshift-webconsole-operator --config=/var/run/configmaps/config/operator-config.yaml -v=0" "hypershift openshift-apiserver --config=/etc/origin/master/master-config.yaml -v=0" "hypershift openshift-controller-manager --config=/etc/origin/master/master-config.yaml --v=0" "openshift start network --enable=dns --config=/etc/origin/node/node-config.yaml" "openshift start network --enable=proxy --listen=https://0.0.0.0:8444 --config=/etc/origin/node/node-config.yaml" "service-serving-cert-signer apiservice-cabundle-injector --config=/var/run/configmaps/config/controller-config.yaml -v=4" "service-serving-cert-signer operator --config=/var/run/configmaps/config/operator-config.yaml -v=4" "service-serving-cert-signer serving-cert-signer --config=/var/run/configmaps/config/controller-config.yaml -v=4" "/usr/bin/openshift-router" "/usr/bin/origin-web-console --audit-log-path=- --config=/var/webconsole-config/webconsole-config.yaml -v=0" "/usr/bin/pod"