Packaging and Pushing Charts into ECR which is prepended with a namespace - kubernetes

I have created a ECR with the name test-chart-repo and now i want to package my chart and push it to this ECR.
I am doing helm package test-chart-repo but when i do helm push test-chart-repo-0.1.0.tgz oci://aws_account_id.dkr.ecr.region.amazonaws.com/ i am getting this error
Error: failed to do request: Post "https://account-id.dkr.ecr.us-east-1.amazonaws.com.test-chart-repo/": EOF
can you suggest me the correct way to push a chart if we have ECR created like
Output of helm version: "v3.11.0
Output of
`kubectl version`: Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.2", GitCommit:"8b5a19147530eaac9476b0ab82980b4088bbc1b2", GitTreeState:"clean", BuildDate:"2021-09-15T21:31:32Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"22+", GitVersion:"v1.22.16-eks-ffeb93d", GitCommit:"52e500d139bdef42fbc4540c357f0565c7867a81", GitTreeState:"clean", BuildDate:"2022-11-29T18:41:42Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

Related

unable to implement multicluster fedeartion using kubefed

I am trying to federate multiple clusters (minikube on mac) using kubefed https://github.com/kubernetes-sigs/kubefed.
With the latest version of helm (helm3) and Kubernetes none of the available examples works.
https://itnext.io/a-kubefed-tutorial-to-synchronise-k8s-clusters-86108194ed79
2.https://betterprogramming.pub/build-a-federation-of-multiple-kubernetes-clusters-with-kubefed-v2-8d2f7d9e198a
3.https://github.com/runyontr/kubefed-demo
Since tiller is missing in helm 3. all of the mentioned demos fails when we deploy kubefed using helm chart.
helm --kube-context cluster1 install kubefed-charts/kubefed --name kubefed --version=0.1.0-rc3 --namespace kube-federation-system
Is there a working example/demo available which can be used for the reference for helm3 and the latest K8.
My env details;
OS: Mac
Helm Version:
version.BuildInfo{Version:"v3.8.2", GitCommit:"6e3701edea09e5d55a8ca2aae03a68917630e91b", GitTreeState:"clean", GoVersion:"go1.18.1"}
Kubectl version:
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:38:33Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:19:12Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}

Helm chart kubernetes-dashboard. Cannot upgrade to version 5.0.0

Im trying to upgrade kubernetes-dashboard helm chart to version 5.0.0
When i run helm sync it gives me error
Error: chart requires kubeVersion: >=1.19.0-0 which is incompatible with Kubernetes v1.18.0
My kubernetes versions are
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-14T05:14:17Z", GoVersion:"go1.15.6", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T20:59:07Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
helm version
version.BuildInfo{Version:"v3.3.4", GitCommit:"a61ce5633af99708171414353ed49547cf05013d", GitTreeState:"clean", GoVersion:"go1.14.9"}
why it thinks that my kubernetes version is 1.18.0
The problem was with version of Helm.
After ive installed v3.7.0 it all works ok.

"kubectl describe ingress ..." could not find the requested resource

I am trying to execute describe on ingress but does not work. Get command works fine but not describe. Is anything that I am doing wrong? I am running this against AKS.
usr#test:/mnt/c/Repos/user/charts/canary$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
ingress-route xyz.westus.cloudapp.azure.com 80 6h
usr#test:/mnt/c/Repos/user/charts/canary$ kubectl describe ingress ingress-route
Error from server (NotFound): the server could not find the requested resource
Version seems fine:
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", ..}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.10"...}
This could be caused by the incompatibility between the Kubernetes cluster version and the kubectl version.
Run kubectl version to print the client and server versions for the current context, example:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.1", GitCommit:"d647ddbd755faf07169599a625faf302ffc34458", GitTreeState:"clean", BuildDate:"2019-10-02T17:01:15Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.10-gke.0", GitCommit:"569511c9540f78a94cc6a41d895c382d0946c11a", GitTreeState:"clean", BuildDate:"2019-08-21T23:28:44Z", GoVersion:"go1.11.13b4", Compiler:"gc", Platform:"linux/amd64"}
You might want to upgrade your cluster version or downgrade your kubectl version. See more details in https://github.com/kubernetes/kubectl/issues/675

Struck at custom resource registration-K8s

I was trying to deploy prometheus-kubernetes. After I ran ./deploy,
Deploying Prometheus Operator
serviceaccount "prometheus-operator" configured
clusterrole "prometheus-operator" configured
clusterrolebinding "prometheus-operator" configured
service "prometheus-operator" configured
deployment "prometheus-operator" configured
Waiting for Operator to register custom resource definitions..............^C
Then I looked into the deploy and try to run kctl get customresourcedefinitions servicemonitors.monitoring.coreos.com.
ubuntu#test-box:~/prometheus-kubernetes$ kctl get customresourcedefinitions servicemonitors.monitoring.coreos.com
kubectl get customresourcedefinitions servicemonitors.monitoring.coreos.com
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "servicemonitors.monitoring.coreos.com" not found
My kubectl version,deployed on AWS instance.
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.2", GitCommit:"bdaeafa71f6c7c04636251031f93464384d54963", GitTreeState:"clean", BuildDate:"2017-10-24T19:48:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.2", GitCommit:"bdaeafa71f6c7c04636251031f93464384d54963", GitTreeState:"clean", BuildDate:"2017-10-24T19:38:10Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes HPA with custom metrics in 1.5

I have k8s v1.5 installad, I tried to following https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ to implement HPA with custom metric.
In the page above, it said "--horizontal-pod-autoscaler-use-rest-clients flag on the controller manager set to true. " but while I set it, the controller manager cannot be started because this flag is not support.
So how can I find any guide for k8s v1.5?
Here is my k8s version information:
[bow#devvm13 ~]$ kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.0", GitCommit:"58b7c16a52c03e4a849874602be42ee71afdcab1", GitTreeState:"clean", BuildDate:"2016-12-12T23:31:15Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
--horizontal-pod-autoscaler-use-rest-clients is supported after 1.6. you can refer https://medium.com/#marko.luksa/kubernetes-autoscaling-based-on-custom-metrics-without-using-a-host-port-b783ed6241ac as an example.