base
contains the base image with some scripts, qemu and dnsmasqcentos7
adds a vagrant centos7 box to the imagecli
contains a tool for provisioning, running and managing the containerized clustersk8s-1.9.3
k8s-1.9.3 cluster based on the centos7 image, provisioned with kubeadmk8s-1.10.3
k8s-1.10.3 cluster based on the centos7 image, provisioned with kubeadmk8s-1.10.4
k8s-1.10.4 cluster based on the centos7 image, provisioned with kubeadmk8s-1.11.0
k8s-1.11.0 cluster based on the centos7 image, provisioned with kubeadmk8s-multus-1.11.0:
: k8s-1.11.0 cluster based on the centos7 image and uses multus CNI, provisioned with kubeadmos-3.9
os-3.9 cluster based on the centos7 image, provisioned with openshift-ansibleos-3.9-crio
os-3.9 cluster with CRI-O support based on the centos7 image, provisioned with openshift-ansibleos-3.10.0
os-3.10.0 cluster based on the centos7 image, provisioned with openshift-ansible
kubevirtci/cli
:sha256:1dd015dea4f12e6dcb8e31be3eeb677fed96f290ef4a4892a33c43d666053536
kubevirtci/gocli
:sha256:34466dacd5710a6900a4d868eac6cef46e69d0f0afebb49e59e6bea0e81f5019
8000kubevirtci/base
:sha256:67b84e2acefdcd7197989cbab1f2d1324eb87b5a77bd31d52d3000d13eee750c
kubevirtci/centos:1804_02
:sha256:5539557ff8cbe96a3ef05e5705f82b58c38e1ff1cdf09f55a47aa5eb542f4ce8
kubevirtci/os-3.9.0:
:sha256:234b3ae5c335c9fa32fa3bc01d5833f8f4d45420d82a8f8b12adc02687eb88b1
kubevirtci/os-3.9.0-crio:
:sha256:107d03dad4da6957e28774b121a45e177f31d7b4ad43c6eab7b24d467e59e213
kubevirtci/os-3.10.0:
:sha256:8afb62b317d3a96d014f8d67254d6104a915450ed81226cf6fec2a12cfff7973
kubevirtci/k8s-1.9.3:
:sha256:f6ffb23261fb8aa15ed45b8d17e1299e284ea75e1d2814ee6b4ec24ecea6f24b
kubevirtci/k8s-1.10.3:
:sha256:d6290260e7e6b84419984f12719cf592ccbe327373b8df76aa0481f8ec01d357
kubevirtci/k8s-1.10.4:
:sha256:486064eddea289b17e150e6600fefc89dab9164d5cba07153c02888a35fed4f1
kubevirtci/k8s-1.11.0:
:sha256:2e8b82787e4c65bc7cf25ddd7bea30d9e203009c620cf637291b87ed617edd79
kubevirtci/k8s-multus-1.11.0:
:sha256:ec8bbe50e588708c625487086f6eac9082f4ee490ee5f481e475f699e34aa55a
gocli
is a tiny go binary which helps managing the containerized clusters. It
ca be used from a docker images, so no need to install it. You can for instance
use a bash alias:
alias gocli="docker run --net=host --privileged --rm -it -v /var/run/docker.sock:/var/run/docker.sock kubevirtci/gocli:latest"
gocli help
Start a k8s cluster which contains of one master and two nodes:
gocli run --random-ports --nodes 3 --background kubevirtci/k8s-1.10.3
Find out the connection details of the cluster:
$ gocli ports k8s
33396
$ gocli scp /etc/kubernetes/admin.conf - > ./kubeconfig
$ kubectl --kubeconfig ./kubeconfig --insecure-skip-tls-verify --server https://localhost:33396 get pods -n kube-system
NAME READY STATUS RESTARTS AGE
etcd-node01 1/1 Running 0 14m
kube-apiserver-node01 1/1 Running 0 13m
kube-controller-manager-node01 1/1 Running 0 14m
kube-dns-6f4fd4bdf-mh6nb 3/3 Running 0 14m
kube-flannel-ds-4bk76 1/1 Running 0 14m
kube-flannel-ds-5zgmt 1/1 Running 1 14m
kube-flannel-ds-qbm2r 1/1 Running 1 14m
kube-proxy-gtvpb 1/1 Running 0 14m
kube-proxy-knc6p 1/1 Running 0 14m
kube-proxy-vx9t6 1/1 Running 0 14m
kube-scheduler-node01 1/1 Running 0 13m
or to permamently edit kubeconfig:
$ gocli ports k8s
33396
$ gocli scp /etc/kubernetes/admin.conf - > ./kubeconfig
$ kubectl --kubeconfig=./kubeconfig config set-cluster kubernetes --server=https://127.0.0.1:33396
$ kubectl --kubeconfig=./kubeconfig config set-cluster kubernetes --insecure-skip-tls-verify=true
$ kubectl --kubeconfig ./kubeconfig get pods -n kube-system
NAME READY STATUS RESTARTS AGE
etcd-node01 1/1 Running 0 14m
kube-apiserver-node01 1/1 Running 0 13m
kube-controller-manager-node01 1/1 Running 0 14m
kube-dns-6f4fd4bdf-mh6nb 3/3 Running 0 14m
kube-flannel-ds-4bk76 1/1 Running 0 14m
kube-flannel-ds-5zgmt 1/1 Running 1 14m
kube-flannel-ds-qbm2r 1/1 Running 1 14m
kube-proxy-gtvpb 1/1 Running 0 14m
kube-proxy-knc6p 1/1 Running 0 14m
kube-proxy-vx9t6 1/1 Running 0 14m
kube-scheduler-node01 1/1 Running 0 13m
$ gocli rm
Start a k8s cluster which contains of one master and two nodes:
gocli run --random-ports --nodes 2 --reverse --ocp-port 8443 --background kubevirtci/os-3.9.0
Note the extra --reverse
flag. Normally we start the master first and nodes
register. In the case of openshift it is different. We first need to start the
nodes, so that openshift-ansible can reach out to the nodes from master.
Furter we added --ocp-port 8443
. That is only required if you want to access
the openshift-web-console. More about that further below.
Find out the connection details of the cluster:
$ gocli ports k8s
8443
$ gocli scp /etc/origin/master/admin.kubeconfig - > ./kubeconfig
$ oc --kubeconfig=./kubeconfig config set-cluster node01:8443 --server=127.0.0.1:8443
$ oc --kubeconfig=./kubeconfig config set-cluster node01:8443 --insecure-skip-tls-verify=true
$ oc --kubeconfig ./kubeconfig get nodes
Make sure that node01
resolves to 127.0.0.1
and that you added --ocp-port 8443
when creatin the cluster. If you did that, you can simply access the
webconsole at https://127.0.0.1:8443
. The login credentials are
admin:admin
.
The two preconditions are necessary to make the authentication redirects work.
$ gocli rm