Merge pull request #504 from lilic/backport-tests

Test against 1.17 and 1.18 in release-0.5
This commit is contained in:
Frederic Branczyk
2020-04-20 18:17:41 +02:00
committed by GitHub
3 changed files with 31 additions and 17 deletions

View File

@@ -76,7 +76,7 @@ This adapter is an Extension API Server and Kubernetes needs to be have this fea
To try out this stack, start [minikube](https://github.com/kubernetes/minikube) with the following command:
```shell
$ minikube delete && minikube start --kubernetes-version=v1.17.3 --memory=6g --bootstrapper=kubeadm --extra-config=kubelet.authentication-token-webhook=true --extra-config=kubelet.authorization-mode=Webhook --extra-config=scheduler.address=0.0.0.0 --extra-config=controller-manager.address=0.0.0.0
$ minikube delete && minikube start --kubernetes-version=v1.18.1 --memory=6g --bootstrapper=kubeadm --extra-config=kubelet.authentication-token-webhook=true --extra-config=kubelet.authorization-mode=Webhook --extra-config=scheduler.address=0.0.0.0 --extra-config=controller-manager.address=0.0.0.0
```
The kube-prometheus stack includes a resource metrics API server, so the metrics-server addon is not necessary. Ensure the metrics-server addon is disabled on minikube:
@@ -89,15 +89,18 @@ $ minikube addons disable metrics-server
### Kubernetes compatibility matrix
| kube-prometheus stack | Kubernetes 1.14 | Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 |
|-----------------------|-----------------|-----------------|-----------------|-----------------|
| `release-0.3` | ✔ | ✔ | ✔ | ✔ |
| `release-0.4` | ✗ | ✗ | ✔ | ✔ |
| `HEAD` | | | | ✔ |
The following versions are supported and work as we test against these versions in their respective branches. But note that other versions might work!
| kube-prometheus stack | Kubernetes 1.14 | Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 |
|-----------------------|-----------------|-----------------|-----------------|-----------------|-----------------|
| `release-0.3` | | | | ✔ |
| `release-0.4` | ✗ | ✗ | ✔ | ✔ | ✗
| `release-0.5` | ✗ | ✗ | ✗ | ✔ | ✔
| `HEAD` | ✗ | ✗ | ✗ | ✗ | ✔
## Quickstart
>Note: For versions before Kubernetes v1.17.0 refer to the [Kubernetes compatibility matrix](#kubernetes-compatibility-matrix) in order to choose a compatible branch.
>Note: For versions before Kubernetes v1.18.z refer to the [Kubernetes compatibility matrix](#kubernetes-compatibility-matrix) in order to choose a compatible branch.
This project is intended to be used as a library (i.e. the intent is not for you to create your own modified copy of this repository).

View File

@@ -2,7 +2,7 @@
minikube delete
minikube addons disable metrics-server
minikube start \
--kubernetes-version=v1.16.0 \
--kubernetes-version=v1.18.1 \
--memory=6g \
--bootstrapper=kubeadm \
--extra-config=kubelet.authentication-token-webhook=true \

View File

@@ -13,16 +13,27 @@ chmod +x kubectl
curl -Lo kind https://github.com/kubernetes-sigs/kind/releases/download/v0.6.1/kind-linux-amd64
chmod +x kind
./kind create cluster --image=kindest/node:v1.17.0
export KUBECONFIG="$(./kind get kubeconfig-path)"
run_e2e_tests() {
cluster_version=$1
# create namespace, permissions, and CRDs
./kubectl create -f manifests/setup
./kind create cluster --image=kindest/node:$cluster_version
export KUBECONFIG="$(./kind get kubeconfig-path)"
# wait for CRD creation to complete
until ./kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
# create namespace, permissions, and CRDs
./kubectl create -f manifests/setup
# create monitoring components
./kubectl create -f manifests/
# wait for CRD creation to complete
until ./kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
make test-e2e
# create monitoring components
./kubectl create -f manifests/
make test-e2e
./kind delete cluster
}
cluster_compatible_versions=("v1.17.0" "v1.18.0")
for cluster_version in "${cluster_compatible_versions[@]}"
do
run_e2e_tests $cluster_version
done