Helm/Jenkins: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
 
(33 intermediate revisions by the same user not shown)
Line 1: Line 1:
  helm repo add jenkins https://charts.jenkins.io
  helm repo add jenkins https://charts.jenkins.io
  helm repo update
  helm repo update && helm repo list
helm repo list
kubectl config get-contexts
 
==Config==
<syntaxhighlight lang="properties">
export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"
</syntaxhighlight>


==Install==
==Install==
<syntaxhighlight lang="properties">
<syntaxhighlight lang="yaml">
kubectl create namespace jenkins
kubectl create namespace jenkins
cat <<EOF | helm upgrade --install -n jenkins jenkins jenkins/jenkins -f -
helm show values jenkins/jenkins|less
cat <<YML | helm install -n jenkins jenkins jenkins/jenkins --version 5.1.26 -f -
controller:
controller:
   jenkinsUrl: jenkins.k8s.local
   installPlugins: false
   additionalPlugins:
   additionalPlugins:
   - octopusdeploy:3.1.6
   - octopusdeploy:3.1.6
EOF
  ingress:
    enabled: true
    hostName: jenkins.k8s.local
    resourceRootUrl: jenkins.k8s.local
  tls:
  - secretName: jenkins.k8s.local.tls
      hosts:
      - jenkins.k8s.local
  JCasC:
    securityRealm: |-
      local:
        allowsSignup: false
        enableCaptcha: false
        users:
        - id: admin
          name: Admin
          password: sadaqah!
        - id: academia
          name: Academia
          password: sadaqah!
    authorizationStrategy: |-
      loggedInUsersCanDoAnything:
        allowAnonymousRead: false
    configScripts:
      this-is-where-i-configure-the-executors: |
        jenkins:
          numExecutors: 5
YML
</syntaxhighlight>
</syntaxhighlight>


Line 24: Line 59:
| valign="top" |
| valign="top" |
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
helm upgrade --install -f values.yaml myjenkins jenkins/jenkins
helm upgrade --install -f values.yaml jenkins jenkins/jenkins
helm upgrade --install myjenkins jenkins/jenkins
helm upgrade --install jenkins jenkins/jenkins
helm show values jenkins/jenkins
helm show values jenkins/jenkins|less
</syntaxhighlight>
 
| valign="top" |
<syntaxhighlight lang="bash">
kubectl exec -n jenkins -it svc/jenkins -c jenkins -- ls -lah /var|grep jenkins
kubectl exec -n jenkins -it svc/jenkins -c jenkins -- ls -lah /var
kubectl exec -n jenkins -it svc/jenkins -c jenkins -- bash
</syntaxhighlight>
</syntaxhighlight>


|-
| colspan="2" |
----
|-
| valign="top" |
| valign="top" |
<syntaxhighlight lang="bash">
kubectl delete all --all -n jenkins
kubectl delete ing --all -n jenkins
kubectl delete sts --all -n jenkins
</syntaxhighlight>


| valign="top" |
| valign="top" |
<syntaxhighlight lang="bash">
kubectl delete svc --all -n jenkins
kubectl delete pvc --all -n jenkins
kubectl delete pv  --all -n jenkins
</syntaxhighlight>


|-
|-
| colspan="3" |
| colspan="2" |
----
----
|-
|-
| valign="top" |
| valign="top" |
<syntaxhighlight lang="bash">
kubectl rollout restart deploy jenkins -n jenkins
kubectl rollout restart sts jenkins -n jenkins
kubectl logs -f jenkins-0 -c init -n jenkins
kubectl logs -f jenkins-0 -n jenkins
</syntaxhighlight>


| valign="top" |
| valign="top" |
 
<syntaxhighlight lang="bash">
| valign="top" |
kubectl config --kubeconfig=${HOME}/.kube/aws-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/dev-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/gcp-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/config view --flatten
</syntaxhighlight>


|}
|}
Line 49: Line 115:
| valign="top" |
| valign="top" |
* [https://stackoverflow.com/questions/75596795/ Helm » Pass YAML/JSON using <code>stdin</code>]
* [https://stackoverflow.com/questions/75596795/ Helm » Pass YAML/JSON using <code>stdin</code>]
* [https://www.jenkins.io/doc/book/installing/offline/ Helm » Jenkins » Install Offline]
* [[Helm/Prometheus Stack|Helm » Prometheus Stack]]
* [https://octopus.com/blog/jenkins-helm-install-guide Helm » Jenkins » Install]
* [https://octopus.com/blog/jenkins-helm-install-guide Helm » Jenkins » Install]
* [[Helm/Cert Manager|Helm » Cert Manager]]
* [https://artifacthub.io/packages/helm/jenkinsci/jenkins Helm » Jenkins]
* [https://artifacthub.io/packages/helm/jenkinsci/jenkins Helm » Jenkins]
* [[Helm]]
* [[Helm]]
Line 62: Line 131:
|-
|-
| valign="top" |
| valign="top" |
* [https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ K8s » Configure Service Accounts for Pods]
* [[Jenkins]]
* [https://medium.com/@pczarkowski/kubernetes-tip-run-an-interactive-pod-d701766a12 K8s » Interactive Pod]
* [https://spacelift.io/blog/restart-kubernetes-pods-with-kubectl K8s » Restart Pods]
* [https://earthly.dev/blog/docker-and-makefiles/ Docker » Makefile]
* [[Kubernetes]]
* [[Minikube]]
* [[Kubectl]]
* [[CURL]]
* [[K8s]]


| valign="top" |
| valign="top" |
Line 81: Line 142:
|-
|-
| valign="top" |
| valign="top" |
* [https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ K8s » Configure Service Accounts for Pods]
* [https://spacelift.io/blog/restart-kubernetes-pods-with-kubectl K8s » Restart Pods With Kubectl]
* [https://medium.com/@pczarkowski/kubernetes-tip-run-an-interactive-pod-d701766a12 K8s » Interactive Pod]
* [https://spacelift.io/blog/restart-kubernetes-pods-with-kubectl K8s » Restart Pods]
* [https://earthly.dev/blog/docker-and-makefiles/ Docker » Makefile]
* [[Kubernetes]]
* [[Minikube]]
* [[Kubectl]]
* [[CURL]]
* [[K8s]]


| valign="top" |
| valign="top" |
* [[K8s/CSI Hostpath Driver|K8s » CSI Hostpath Driver]]


| valign="top" |
| valign="top" |


|}
|}

Latest revision as of 12:17, 22 August 2024

helm repo add jenkins https://charts.jenkins.io
helm repo update && helm repo list
kubectl config get-contexts

Config

export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"

Install

kubectl create namespace jenkins
helm show values jenkins/jenkins|less
cat <<YML | helm install -n jenkins jenkins jenkins/jenkins --version 5.1.26 -f -
controller:
  installPlugins: false
  additionalPlugins:
  - octopusdeploy:3.1.6
  ingress:
    enabled: true
    hostName: jenkins.k8s.local
    resourceRootUrl: jenkins.k8s.local
  tls:
  - secretName: jenkins.k8s.local.tls
      hosts:
      - jenkins.k8s.local
  JCasC:
    securityRealm: |-
      local:
        allowsSignup: false
        enableCaptcha: false
        users:
        - id: admin
          name: Admin
          password: sadaqah!
        - id: academia
          name: Academia
          password: sadaqah!
    authorizationStrategy: |-
      loggedInUsersCanDoAnything:
        allowAnonymousRead: false
    configScripts:
      this-is-where-i-configure-the-executors: |
        jenkins:
          numExecutors: 5
YML

Uninstall

helm uninstall -n jenkins jenkins
kubectl delete namespace jenkins

Playground

helm upgrade --install -f values.yaml jenkins jenkins/jenkins
helm upgrade --install jenkins jenkins/jenkins
helm show values jenkins/jenkins|less
kubectl exec -n jenkins -it svc/jenkins -c jenkins -- ls -lah /var|grep jenkins
kubectl exec -n jenkins -it svc/jenkins -c jenkins -- ls -lah /var
kubectl exec -n jenkins -it svc/jenkins -c jenkins -- bash

kubectl delete all --all -n jenkins
kubectl delete ing --all -n jenkins
kubectl delete sts --all -n jenkins
kubectl delete svc --all -n jenkins
kubectl delete pvc --all -n jenkins
kubectl delete pv  --all -n jenkins

kubectl rollout restart deploy jenkins -n jenkins
kubectl rollout restart sts jenkins -n jenkins
kubectl logs -f jenkins-0 -c init -n jenkins
kubectl logs -f jenkins-0 -n jenkins
kubectl config --kubeconfig=${HOME}/.kube/aws-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/dev-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/gcp-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/config view --flatten

References