由于gitlab的helm太老了,打算使用自制应用来搭建gitlab。一顿操作以后,点击创建没有反应。
下载生成的的yaml如下:
metadata:
annotations:
servicemesh.kubesphere.io/enabled: 'false'
name: gitlab-app
labels:
app.kubernetes.io/name: gitlab-app
app.kubernetes.io/version: v1
spec:
componentKinds:
- group: ''
kind: Service
- group: apps
kind: Deployment
- group: apps
kind: StatefulSet
- group: extensions
kind: Ingress
- group: servicemesh.kubesphere.io
kind: Strategy
- group: servicemesh.kubesphere.io
kind: ServicePolicy
selector:
matchLabels:
app.kubernetes.io/name: gitlab-app
app.kubernetes.io/version: v1
---
metadata:
labels:
app.kubernetes.io/name: gitlab-app
app.kubernetes.io/version: v1
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: gitlab-system
labels:
app: gitlab-redis
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
name: gitlab-redis-v1
annotations:
servicemesh.kubesphere.io/enabled: 'false'
spec:
replicas: 1
selector:
matchLabels:
app: gitlab-redis
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
template:
metadata:
labels:
app: gitlab-redis
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
annotations:
kubesphere.io/containerSecrets: null
sidecar.istio.io/inject: 'false'
logging.kubesphere.io/logsidecar-config: '{}'
spec:
containers:
- name: container-we8n2q
type: worker
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 10m
memory: 10Mi
limits: {}
image: 'redis:5.0.9-alpine'
ports:
- name: tcp-6379
protocol: TCP
containerPort: 6379
servicePort: 6379
livenessProbe:
initialDelaySeconds: 30
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
exec:
command:
- redis-cli
- ping
startupProbe:
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
exec:
command:
- redis-cli
- ping
volumeMounts:
- readOnly: false
mountPath: /var/lib/redis
name: gitlab-redis-pvc
serviceAccount: default
imagePullSecrets: null
updateStrategy:
type: RollingUpdate
rollingUpdate:
partition: 0
volumeClaimTemplates:
- spec:
resources:
requests:
storage: 10Gi
storageClassName: rook-ceph-block
accessModes:
- ReadWriteOnce
metadata:
name: gitlab-redis-pvc
namespace: gitlab-system
---
apiVersion: v1
kind: Service
metadata:
namespace: gitlab-system
labels:
app: gitlab-redis
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
annotations:
kubesphere.io/workloadType: StatefulSet
servicemesh.kubesphere.io/enabled: 'false'
name: gitlab-redis
spec:
sessionAffinity: None
selector:
app: gitlab-redis
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
ports:
- name: tcp-6379
protocol: TCP
port: 6379
targetPort: 6379
clusterIP: None
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: gitlab-system
labels:
app: gitlab-postgresql
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
name: gitlab-postgresql-v1
annotations:
servicemesh.kubesphere.io/enabled: 'false'
spec:
replicas: 1
selector:
matchLabels:
app: gitlab-postgresql
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
template:
metadata:
labels:
app: gitlab-postgresql
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
annotations:
kubesphere.io/containerSecrets: null
sidecar.istio.io/inject: 'false'
logging.kubesphere.io/logsidecar-config: '{}'
spec:
containers:
- name: container-xfzkxe
type: worker
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 10m
memory: 10Mi
limits: {}
image: 'postgres:9.6.17-alpine'
ports:
- name: tcp-5432
protocol: TCP
containerPort: 5432
servicePort: 5432
livenessProbe:
initialDelaySeconds: 30
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
exec:
command:
- pg-isready
- '-h'
- '-localhost'
- '-U'
- postpgres
startupProbe:
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
exec:
command:
- pg-isready
- '-h'
- '-localhost'
- '-U'
- postpgres
env:
- name: DB_USER
valueFrom:
secretKeyRef:
name: gitlab-postgresql
key: DB_USER
- name: DB_PASS
valueFrom:
secretKeyRef:
name: gitlab-postgresql
key: DB_PASS
- name: DB_NAME
valueFrom:
secretKeyRef:
name: gitlab-postgresql
key: DB_NAME
- name: DB_EXTENSION
valueFrom:
secretKeyRef:
name: gitlab-postgresql
key: DB_EXTENSION
volumeMounts:
- readOnly: false
mountPath: /var/lib/postgresql
name: gitlab-postgresql-pvc
serviceAccount: default
imagePullSecrets: null
updateStrategy:
type: RollingUpdate
rollingUpdate:
partition: 0
volumeClaimTemplates:
- spec:
resources:
requests:
storage: 10Gi
storageClassName: rook-ceph-block
accessModes:
- ReadWriteOnce
metadata:
name: gitlab-postgresql-pvc
namespace: gitlab-system
---
apiVersion: v1
kind: Service
metadata:
namespace: gitlab-system
labels:
app: gitlab-postgresql
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
annotations:
kubesphere.io/workloadType: StatefulSet
servicemesh.kubesphere.io/enabled: 'false'
name: gitlab-postgresql
spec:
sessionAffinity: None
selector:
app: gitlab-postgresql
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
ports:
- name: tcp-5432
protocol: TCP
port: 5432
targetPort: 5432
clusterIP: None
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: gitlab-system
labels:
app: gitlab
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
name: gitlab-v1
annotations:
servicemesh.kubesphere.io/enabled: 'false'
spec:
replicas: 1
selector:
matchLabels:
app: gitlab
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
template:
metadata:
labels:
app: gitlab
version: v1
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
annotations:
kubesphere.io/containerSecrets: null
logging.kubesphere.io/logsidecar-config: '{}'
sidecar.istio.io/inject: 'false'
spec:
containers:
- name: container-45nixs
type: worker
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 10m
memory: 10Mi
limits: {}
image: 'gitlab/gitlab-ce:12.10.1-ce.0'
ports:
- name: tcp-22
protocol: TCP
containerPort: 22
servicePort: 22
- name: tcp-443
protocol: TCP
containerPort: 443
servicePort: 443
- name: tcp-80
protocol: TCP
containerPort: 80
servicePort: 80
env:
- name: TZ
value: Asia/Shanghai
- name: GITLAB_TIMEZONE
value: Beijing
- name: GITLAB_SECRETS_DB_KEY_BASE
value: long-and-random-alpha-numeric-string
- name: GITLAB_SECRETS_SECRET_KEY_BASE
value: long-and-random-alpha-numeric-string
- name: GITLAB_SECRETS_OTP_KEY_BASE
value: long-and-random-alpha-numeric-string
- name: GITLAB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: gitlab-secret
key: password
- name: GITLAB_ROOT_EMAIL
value: gitlab@example.com
- name: GITLAB_HOST
value: gitlab.example.com
- name: DB_TYPE
value: postgres
- name: DB_HOST
value: gitlab-postgresql
- name: DB_PORT
value: '5432'
- name: DB_USER
valueFrom:
secretKeyRef:
name: gitlab-postgresql
key: DB_USER
- name: DB_PASS
valueFrom:
secretKeyRef:
name: gitlab-postgresql
key: DB_PASS
- name: DB_NAME
valueFrom:
secretKeyRef:
name: gitlab-postgresql
key: DB_NAME
- name: REDIS_HOST
value: gitlan-redis
- name: REDIS_PORT
value: '6379'
livenessProbe:
httpGet:
scheme: HTTP
path: /
port: 80
initialDelaySeconds: 30
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
startupProbe:
httpGet:
scheme: HTTP
path: /
port: 80
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: volume-rclb0r
readOnly: false
mountPath: /home/git/data
serviceAccount: default
imagePullSecrets: null
volumes:
- name: volume-rclb0r
persistentVolumeClaim:
claimName: gitlab-pvc
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
---
apiVersion: v1
kind: Service
metadata:
namespace: gitlab-system
labels:
app: gitlab
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
annotations:
kubesphere.io/workloadType: Deployment
servicemesh.kubesphere.io/enabled: 'false'
name: gitlab
spec:
sessionAffinity: None
selector:
app: gitlab
app.kubernetes.io/name: git
app.kubernetes.io/version: v1
ports:
- name: tcp-22
protocol: TCP
port: 22
targetPort: 22
- name: tcp-443
protocol: TCP
port: 443
targetPort: 443
- name: tcp-80
protocol: TCP
port: 80
targetPort: 80
手动使用kubectl创建报错:
kubectl create -f gitlab.yaml
error: error validating "gitlab.yaml": error validating data: [apiVersion not set, kind not set]; if you choose to ignore these errors, turn validation off with --validate=false