Closed jjuarez closed 1 year ago
Hi @jjuarez - thanks for reporting this. I didn't realise we had an hard requirement on a metrics server, if you have the log from the controller would you mind pasting it here? Thank you!
Metrics server shouldn't be required. What minikube + kubernetes version are you using?
Here's a fresh install, Pipelines installed and started as expected. I specified Kubernetes version 1.24 as 1.25 is used by default in the latest version of minikube. Pipelines won't support 1.25 until next release due to use of some deprecated resources that have been removed.
$ minikube start --kubernetes-version v1.24.4
😄 minikube v1.27.0 on Darwin 12.4 (arm64)
▪ KUBECONFIG=/Users/alan/.kube/config
✨ Automatically selected the docker driver
📌 Using Docker Desktop driver with root privileges
👍 Starting control plane node minikube in cluster minikube
🚜 Pulling base image ...
💾 Downloading Kubernetes v1.24.4 preload ...
> preloaded-images-k8s-v18-v1...: 344.05 MiB / 344.05 MiB 100.00% 17.67 M
> gcr.io/k8s-minikube/kicbase: 0 B [________________________] ?% ? p/s 35s
🔥 Creating docker container (CPUs=2, Memory=5876MB) ...
🐳 Preparing Kubernetes v1.24.4 on Docker 20.10.17 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
$ kubectl apply --filename \
https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml
namespace/tekton-pipelines created
Warning: policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
podsecuritypolicy.policy/tekton-pipelines created
clusterrole.rbac.authorization.k8s.io/tekton-pipelines-controller-cluster-access created
clusterrole.rbac.authorization.k8s.io/tekton-pipelines-controller-tenant-access created
clusterrole.rbac.authorization.k8s.io/tekton-pipelines-webhook-cluster-access created
role.rbac.authorization.k8s.io/tekton-pipelines-controller created
role.rbac.authorization.k8s.io/tekton-pipelines-webhook created
role.rbac.authorization.k8s.io/tekton-pipelines-leader-election created
role.rbac.authorization.k8s.io/tekton-pipelines-info created
serviceaccount/tekton-pipelines-controller created
serviceaccount/tekton-pipelines-webhook created
clusterrolebinding.rbac.authorization.k8s.io/tekton-pipelines-controller-cluster-access created
clusterrolebinding.rbac.authorization.k8s.io/tekton-pipelines-controller-tenant-access created
clusterrolebinding.rbac.authorization.k8s.io/tekton-pipelines-webhook-cluster-access created
rolebinding.rbac.authorization.k8s.io/tekton-pipelines-controller created
rolebinding.rbac.authorization.k8s.io/tekton-pipelines-webhook created
rolebinding.rbac.authorization.k8s.io/tekton-pipelines-controller-leaderelection created
rolebinding.rbac.authorization.k8s.io/tekton-pipelines-webhook-leaderelection created
rolebinding.rbac.authorization.k8s.io/tekton-pipelines-info created
customresourcedefinition.apiextensions.k8s.io/clustertasks.tekton.dev created
customresourcedefinition.apiextensions.k8s.io/pipelines.tekton.dev created
customresourcedefinition.apiextensions.k8s.io/pipelineruns.tekton.dev created
customresourcedefinition.apiextensions.k8s.io/resolutionrequests.resolution.tekton.dev created
customresourcedefinition.apiextensions.k8s.io/pipelineresources.tekton.dev created
customresourcedefinition.apiextensions.k8s.io/runs.tekton.dev created
customresourcedefinition.apiextensions.k8s.io/tasks.tekton.dev created
customresourcedefinition.apiextensions.k8s.io/taskruns.tekton.dev created
secret/webhook-certs created
validatingwebhookconfiguration.admissionregistration.k8s.io/validation.webhook.pipeline.tekton.dev created
mutatingwebhookconfiguration.admissionregistration.k8s.io/webhook.pipeline.tekton.dev created
validatingwebhookconfiguration.admissionregistration.k8s.io/config.webhook.pipeline.tekton.dev created
clusterrole.rbac.authorization.k8s.io/tekton-aggregate-edit created
clusterrole.rbac.authorization.k8s.io/tekton-aggregate-view created
configmap/config-artifact-bucket created
configmap/config-artifact-pvc created
configmap/config-defaults created
configmap/feature-flags created
configmap/pipelines-info created
configmap/config-leader-election created
configmap/config-logging created
configmap/config-observability created
configmap/config-registry-cert created
deployment.apps/tekton-pipelines-controller created
service/tekton-pipelines-controller created
Warning: autoscaling/v2beta1 HorizontalPodAutoscaler is deprecated in v1.22+, unavailable in v1.25+; use autoscaling/v2 HorizontalPodAutoscaler
horizontalpodautoscaler.autoscaling/tekton-pipelines-webhook created
deployment.apps/tekton-pipelines-webhook created
service/tekton-pipelines-webhook created
$ kubectl get po -n tekton-pipelines
NAME READY STATUS RESTARTS AGE
tekton-pipelines-controller-54c7997dc7-fz88g 1/1 Running 0 21s
tekton-pipelines-webhook-59987d7bfc-88l66 1/1 Running 0 21s
Pipelines pods started as expected, then after completing the rest of the tutorial steps:
$ kubectl logs --selector=tekton.dev/taskRun=hello-task-run
Defaulted container "step-echo" out of: step-echo, prepare (init), place-scripts (init)
Hello World
Ok, thanks, that's the key, I'm using kubernetes 1.25.0
Ah ok, in that case you should see errors when applying the pipelines yaml.
@afrittoli @geriom we should probably update the tutorials and anywhere else using minikube to pin the Kubernetes version until we land support for 1.25
Expected Behavior
To have a functional cluster at the end of the install section.
Actual Behavior
After the "standard" installation of minikube and trying to install the Tekton stuff using the YAML manifests the pods were not working because of the lack of a proper metrics server deployment.
Steps to Reproduce the Problem
Additional Info
This has a really easy workaround just taking in account the need of having a metrics server deployed, and the best way to do this is to enable this addon in minikube by doing:
after a few seconds, we should check for the right deployment of this server:
and then proceed with the Tekton pipelines installation following the rest of the Getting Started section of the tutorial.