オリジナルのyamlを記述しJenkinsをデプロイする方法です。

Level1,2で習得した内容でデプロイすることが可能です。 全体のフローとしては以下の通りです。

  1. 外部公開用にIngress、Service(typeはNodePortで作成)を作成
  2. Deploymentの定義
  3. 永続化するためのPersistentVolumeClaimの定義

上記を記述してデプロイします。

$ kubectl create -f jenkins.yaml

以下がサンプルのyamlです。

課題

jenkinsのyaml作成

Jenkinsデプロイ用定義ファイルの例 jenkins.yaml
kind: Service
apiVersion: v1
metadata:
  name: jenkins-ui
  namespace: jenkins
spec:
  type: NodePort
  selector:
    app: jenkins
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
      name: ui
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: jenkins
    spec:
      containers:
      - name: jenkins
        image: jenkins:2.32.2
        ports:
        - containerPort: 8080