オリジナルのyamlを記述しJenkinsをデプロイする方法です。
Level1,2で習得した内容でデプロイすることが可能です。 全体のフローとしては以下の通りです。
- 外部公開用にIngress、Service(typeはNodePortで作成)を作成
- Deploymentの定義
- 永続化するためのPersistentVolumeClaimの定義
上記を記述してデプロイします。
$ kubectl create -f jenkins.yaml
以下がサンプルのyamlです。
課題
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