中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

helm怎么安裝jenkins

發布時間:2021-12-13 14:44:32 來源:億速云 閱讀:251 作者:iii 欄目:大數據

本篇內容主要講解“helm怎么安裝jenkins”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“helm怎么安裝jenkins”吧!

本次實戰的namespace

本次實戰使用名為helm-jenkins的namespace,執行以下命令創建:

kubectl create namespace helm-jenkins

創建PV

為了后面的jenkins服務順利啟動,需要預先部署好pv:

  • 新建名為pv-helm-jenkins.yaml的文件,內容如下:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: helm-jenkins
  namespace: helm-jenkins
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /usr/local/work/test/002
    server: 192.168.133.142
  • 執行命令kubectl create -f pv-helm-jenkins.yaml,創建pv

  • 查看pv是否已經就緒:

[root@node1 helm-jenkins]# kubectl get pv
NAME           CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM        STORAGECLASS   REASON   AGE
helm-jenkins   10Gi       RWO            Recycle          Available                                        5s
                         14h

helm安裝jenkins

  • 確保helm2.16.1版本安裝完畢,并且可以正常工作:

[root@node1 helm-jenkins]# helm version
Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
  • 確保以下的helm repo準備好(如果沒有可以通過helm repo add添加):

[root@node1 helm-jenkins]# helm repo list
NAME   	URL                                                   
stable 	https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
  • 執行以下命令,即可創建jenkins的deployment、service等資源:

helm install --namespace helm-jenkins --name my-jenkins stable/jenkins
  • 執行完畢后,控制臺輸出以下內容:

NOTES:
1. Get your 'admin' user password by running:
  printf $(kubectl get secret --namespace helm-jenkins my-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
2. Get the Jenkins URL to visit by running these commands in the same shell:
  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
        You can watch the status of by running 'kubectl get svc --namespace helm-jenkins -w my-jenkins'
  export SERVICE_IP=$(kubectl get svc --namespace helm-jenkins my-jenkins --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
  echo http://$SERVICE_IP:8080/login

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

上述內容的第一條給出了重要提示:獲取admin賬號密碼的方法,執行命令即可:

printf $(kubectl get secret --namespace helm-jenkins my-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo

如下圖紅框所示,我這里得到了admin密碼為Eq6WxHvJ2V:

  • 檢查服務,發現helm-jenkins這個namespace下有兩個服務:my-jenkins和my-jenkins-agent,前者就是jenkins網站,后者用來接收執行任務的jenkins實例的注冊:

[root@node1 helm-jenkins]# kubectl get svc -n helm-jenkins
NAME               TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
my-jenkins         LoadBalancer   10.233.10.35   <pending>     8080:31763/TCP   31m
my-jenkins-agent   ClusterIP      10.233.35.20   <none>        50000/TCP        31m
  • my-jenkins這個服務的類型是LoadBalancer,8080端口被映射到宿主機的31763,因此,使用kubernetes集群中一臺宿主機的IP,再加上31763端口即可通過瀏覽器訪問,如下圖:

  • 至此,jenkins安裝已完成,接下來要做必要的設置

設置kubernetes插件

為了讓jenkins在以下模式工作,還需要設置kubernetes插件

  • 點擊下圖紅框中的"Manage Jenkins",進入設置頁面

  • 由于很多插件版本較久,頁面上會有升級提示,這里暫時用不到,因此直接點擊下圖紅框中的"Configure System"

  • 點擊下圖紅框1中的"Test Connection”按鈕,您會見到紅框2中的錯誤信息:

  • 產生上述錯誤的原因,是由于jenkins容器沒有權限訪問kubernetes的api server導致的,為了解決此問題,要先搞清楚容器的身份,我們知道容器在kubernetes環境中都有自己的serviceaccount,執行命令kubectl get serviceaccount -n helm-jenkins查看當前namespace下的serviceaccount:

[root@node1 helm-jenkins]# kubectl get serviceaccount -n helm-jenkins
NAME      SECRETS   AGE
default   1         3h65m

可見jenkins容器的serviceaccount是default

  • 知道了容器的serviceaccount,上述問題就好解決了,我們用RBAC將訪問api server所需權限綁定給default即可,這里為了省事兒就不將權限一一列出了,接下來直接給default最高權限(生產環境千萬別這么做,必須按需分配);

  • 新建名為rbac-helm-jenkins-default.yaml的文件,內容如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: rbac-helm-jenkins-default
  namespace: helm-jenkins
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: default
  namespace: helm-jenkins
  • 執行命令kubectl create -f rbac-helm-jenkins-default.yaml使得RBAC生效

  • 再次回到之前的頁面點擊"Test Connection"按鈕,如下圖,提示"Connection successful":

  • 接下來設置Pod模板參數,如下圖,namepsace要設置為helm-jenkins,另外要記下來Labels的值my-jenkins-jenkins-slave,后面會用到

  • 點擊底部的"Save"按鈕,使設置生效:

  • 設置完畢,接下來創建任務體驗一下kubernetes上的jenkins功能

體驗Freestyle project

  • 創建一個Freestyle project,如下圖:

  • 如下圖,表單中Label Expression的值是前面記下來的my-jenkins-jenkins-slave

  • 如下圖,本次任務的具體內容很簡單,執行一段shell,輸出"Hello World!":

  • 點擊底部的"Save"按鈕保存

  • 點擊下圖紅框中的"Build Now",即可開始構建

  • 此時去控制臺執行命令kubectl get pods -n helm-jenkins查看pod,會發現有新的pod出現,如下所示,這是執行jenkins任務的pod:

[root@node1 helm-jenkins]# kubectl get pods -n helm-jenkins
NAME                          READY   STATUS              RESTARTS   AGE
default-66vcq                 0/1     ContainerCreating   0          1s
my-jenkins-74bcdfc566-jbw28   1/1     Running             0          5h6m
  • 返回jenkins頁面,可見任務已經執行完畢

到此,相信大家對“helm怎么安裝jenkins”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武隆县| 临汾市| 蕉岭县| 鹤山市| 垦利县| 涿州市| 察隅县| 营山县| 芜湖县| 水城县| 荥经县| 涪陵区| 南京市| 马关县| 南陵县| 和硕县| 南溪县| 嘉荫县| 四会市| 夏邑县| 化德县| 平泉县| 长丰县| 鹤庆县| 宁蒗| 上高县| 黄梅县| 湟源县| 会理县| 基隆市| 台江县| 昌乐县| 武夷山市| 洛阳市| 久治县| 吉木萨尔县| 罗定市| 卢湾区| 康乐县| 铅山县| 陇南市|