Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devops:setup_jenkins_on_kubernetes [2020/02/20 13:48] – [jenkins pod Init:0/1] admin | devops:setup_jenkins_on_kubernetes [2020/04/23 10:51] (current) – [jenkins pod Init:0/1] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Установка Jenkins с помощью helm ====== | ||
+ | kubectl create ns jenkins | ||
+ | helm install --name jenkins --namespace jenkins stable/ | ||
+ | В результате в неймспейсе **jenkins** создадутся все нужные объекты, | ||
+ | |||
+ | ===== values-autosys.yaml ===== | ||
+ | < | ||
+ | Name: jenkins-master | ||
+ | overwriteConfig: | ||
+ | # hostNetworking: | ||
+ | ingress: | ||
+ | enabled: true | ||
+ | # For Kubernetes v1.14+, use ' | ||
+ | apiVersion: " | ||
+ | labels: {} | ||
+ | annotations: | ||
+ | cert-manager.io/ | ||
+ | kubernetes.io/ | ||
+ | hostName: jenkins.autosys.tk | ||
+ | tls: | ||
+ | - hosts: | ||
+ | - jenkins.autosys.tk | ||
+ | secretName: jenkins-autosys-tk-tls | ||
+ | |||
+ | persistence: | ||
+ | enabled: true | ||
+ | storageClass: | ||
+ | | ||
+ | ===== jenkins pod Init:0/1 ===== | ||
+ | Сразу после разворачивания **pod jenkins** у меня находился в состоянии **Init: | ||
+ | message: ' | ||
+ | В это время в поде **jenkins**' | ||
+ | Ход этого процесса можно наблюдать так: | ||
+ | kubectl logs -n jenkins jenkins-.... -c copy-default-config -f | ||
+ | В контейнере этот процесс выполняется скриптом: | ||
+ | ====== Создадим StorageClass и PersistentVolume ====== | ||
+ | < | ||
+ | apiVersion: storage.k8s.io/ | ||
+ | kind: StorageClass | ||
+ | metadata: | ||
+ | name: jenkins | ||
+ | namespace: jenkins | ||
+ | provisioner: | ||
+ | reclaimPolicy: | ||
+ | volumeBindingMode: | ||
+ | --- | ||
+ | apiVersion: v1 | ||
+ | kind: PersistentVolume | ||
+ | metadata: | ||
+ | name: jenkins-pv | ||
+ | | ||
+ | | ||
+ | app: jenkins | ||
+ | spec: | ||
+ | capacity: | ||
+ | storage: 10Gi | ||
+ | accessModes: | ||
+ | - ReadWriteOnce | ||
+ | storageClassName: | ||
+ | hostPath: | ||
+ | path: "/ | ||
+ | type: Directory | ||
+ | persistentVolumeReclaimPolicy: | ||
+ | |||
+ | |||
+ | ====== Пароль учетки admin ====== | ||
+ | printf $(kubectl get secret --namespace jenkins jenkins -o jsonpath=" | ||
+ | Jenkins URL | ||
+ | export SERVICE_IP=$(kubectl get svc --namespace default jenkins --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}") | ||
+ | echo http:// | ||
+ | |||
+ | ====== Дадим права на создание pod' | ||
+ | kubectl create clusterrolebinding jenkins --clusterrole cluster-admin --serviceaccount=jenkins: | ||
+ | ====== Конфигурация после установки ====== | ||
+ | После установки нужно как минимум сконфигурировать параметры **Jenkins Location**: | ||
+ | * **Jenkins URL** | ||
+ | * **System Admin e-mail address** | ||
+ | |||
+ | ====== Ссылки ====== | ||
+ | https:// | ||