Difference between revisions of "Kubernetes/Helm"

From Ever changing code
Jump to navigation Jump to search
Line 1: Line 1:
[https://helm.sh/docs/intro/install/ Install]
= [https://helm.sh/docs/intro/install/ Install] =
<source lang=bash>
<source lang=bash>
LATEST=$(curl --silent "https://api.github.com/repos/helm/helm/releases/latest" | jq -r .tag_name)
LATEST=$(curl --silent "https://api.github.com/repos/helm/helm/releases/latest" | jq -r .tag_name)
Line 6: Line 6:
sudo install linux-amd64/helm /usr/local/bin/helm
sudo install linux-amd64/helm /usr/local/bin/helm
</source>
</source>
= Operations =
<source lang=bash>
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo update                          # Make sure we get the latest list of charts
helm search repo stable/jenkins
# Helm3 bug:does not respect '--namespace' flag, so set default namespace
kubectl create ns jenkins
kubectl config set-context $(kubectl config current-context) --namespace=jenkins
helm install [NAME] [CHART] [flags]
helm install jenkins-ci stable/jenkins      # release name: jenkins-ci
helm install stable/mysql  --generate-name # release name will be generated
helm ls                                    # show a list of all deployed releases
NAME      NAMESPACE REVISION UPDATED          STATUS  CHART          APP VERSION
jenkins-ci jenkins  1        2020-04-25 15:.. deployed jenkins-1.17.2 lts
</source>
;Jenkins chart post install instructions
<pre>
NAME: jenkins-ci
LAST DEPLOYED: Sat Apr 25 15:33:36 2020
NAMESPACE: jenkins
STATUS: deployed
REVISION: 1
NOTES:
1. Get your 'admin' user password by running:
  printf $(kubectl get secret --namespace jenkins jenkins-ci -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
2. Get the Jenkins URL to visit by running these commands in the same shell:
  export POD_NAME=$(kubectl get pods --namespace jenkins -l "app.kubernetes.io/component=jenkins-master" -l "app.kubernetes.io/instance=jenkins-ci" -o jsonpath="{.items[0].metadata.name}")
  echo http://127.0.0.1:8080
  kubectl --namespace jenkins port-forward $POD_NAME 8080:8080
3. Login with the password from step 1 and the username: admin
For more information on running Jenkins on Kubernetes, visit:
https://cloud.google.com/solutions/jenkins-on-container-engine
</pre>
= Resources =
* [https://helm.sh/docs/intro/using_helm/ Using Helm Guide]

Revision as of 16:38, 25 April 2020

Install

LATEST=$(curl --silent "https://api.github.com/repos/helm/helm/releases/latest" | jq -r .tag_name)
curl -LO https://get.helm.sh/helm-${LATEST}-linux-amd64.tar.gz
tar xzvf helm-${LATEST}-linux-amd64.tar.gz
sudo install linux-amd64/helm /usr/local/bin/helm

Operations

helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo update                           # Make sure we get the latest list of charts

helm search repo stable/jenkins

# Helm3 bug:does not respect '--namespace' flag, so set default namespace
kubectl create ns jenkins
kubectl config set-context $(kubectl config current-context) --namespace=jenkins

helm install [NAME] [CHART] [flags]
helm install jenkins-ci stable/jenkins      # release name: jenkins-ci
helm install stable/mysql   --generate-name # release name will be generated

helm ls                                    # show a list of all deployed releases
NAME       NAMESPACE REVISION UPDATED          STATUS   CHART          APP VERSION
jenkins-ci jenkins   1        2020-04-25 15:.. deployed jenkins-1.17.2 lts


Jenkins chart post install instructions
NAME: jenkins-ci
LAST DEPLOYED: Sat Apr 25 15:33:36 2020
NAMESPACE: jenkins
STATUS: deployed
REVISION: 1
NOTES:
1. Get your 'admin' user password by running:
  printf $(kubectl get secret --namespace jenkins jenkins-ci -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
2. Get the Jenkins URL to visit by running these commands in the same shell:
  export POD_NAME=$(kubectl get pods --namespace jenkins -l "app.kubernetes.io/component=jenkins-master" -l "app.kubernetes.io/instance=jenkins-ci" -o jsonpath="{.items[0].metadata.name}")
  echo http://127.0.0.1:8080
  kubectl --namespace jenkins port-forward $POD_NAME 8080:8080

3. Login with the password from step 1 and the username: admin


For more information on running Jenkins on Kubernetes, visit:
https://cloud.google.com/solutions/jenkins-on-container-engine

Resources