304 lines
8.6 KiB
YAML
304 lines
8.6 KiB
YAML
---
|
||
apiVersion: v1
|
||
kind: Namespace
|
||
metadata:
|
||
name: kuboard
|
||
|
||
---
|
||
apiVersion: v1
|
||
kind: ConfigMap
|
||
metadata:
|
||
name: kuboard-v3-config
|
||
namespace: kuboard
|
||
data:
|
||
# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-built-in.html
|
||
# [common]
|
||
KUBOARD_SERVER_NODE_PORT: '30080'
|
||
KUBOARD_AGENT_SERVER_UDP_PORT: '30081'
|
||
KUBOARD_AGENT_SERVER_TCP_PORT: '30081'
|
||
KUBOARD_SERVER_LOGRUS_LEVEL: info # error / debug / trace
|
||
# KUBOARD_AGENT_KEY 是 Agent 与 Kuboard 通信时的密钥,请修改为一个任意的包含字母、数字的32位字符串,此密钥变更后,需要删除 Kuboard Agent 重新导入。
|
||
KUBOARD_AGENT_KEY: 32b7d6572c6255211b4eec9009e4a816
|
||
KUBOARD_AGENT_IMAG: eipwork/kuboard-agent
|
||
KUBOARD_QUESTDB_IMAGE: questdb/questdb:6.0.5
|
||
KUBOARD_DISABLE_AUDIT: 'false' # 如果要禁用 Kuboard 审计功能,将此参数的值设置为 'true',必须带引号。
|
||
|
||
# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-gitlab.html
|
||
# [gitlab login]
|
||
# KUBOARD_LOGIN_TYPE: "gitlab"
|
||
# KUBOARD_ROOT_USER: "your-user-name-in-gitlab"
|
||
# GITLAB_BASE_URL: "http://gitlab.mycompany.com"
|
||
# GITLAB_APPLICATION_ID: "7c10882aa46810a0402d17c66103894ac5e43d6130b81c17f7f2d8ae182040b5"
|
||
# GITLAB_CLIENT_SECRET: "77c149bd3a4b6870bffa1a1afaf37cba28a1817f4cf518699065f5a8fe958889"
|
||
|
||
# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-github.html
|
||
# [github login]
|
||
# KUBOARD_LOGIN_TYPE: "github"
|
||
# KUBOARD_ROOT_USER: "your-user-name-in-github"
|
||
# GITHUB_CLIENT_ID: "17577d45e4de7dad88e0"
|
||
# GITHUB_CLIENT_SECRET: "ff738553a8c7e9ad39569c8d02c1d85ec19115a7"
|
||
|
||
# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-ldap.html
|
||
# [ldap login]
|
||
# KUBOARD_LOGIN_TYPE: "ldap"
|
||
# KUBOARD_ROOT_USER: "your-user-name-in-ldap"
|
||
# LDAP_HOST: "ldap-ip-address:389"
|
||
# LDAP_BIND_DN: "cn=admin,dc=example,dc=org"
|
||
# LDAP_BIND_PASSWORD: "admin"
|
||
# LDAP_BASE_DN: "dc=example,dc=org"
|
||
# LDAP_FILTER: "(objectClass=posixAccount)"
|
||
# LDAP_ID_ATTRIBUTE: "uid"
|
||
# LDAP_USER_NAME_ATTRIBUTE: "uid"
|
||
# LDAP_EMAIL_ATTRIBUTE: "mail"
|
||
# LDAP_DISPLAY_NAME_ATTRIBUTE: "cn"
|
||
# LDAP_GROUP_SEARCH_BASE_DN: "dc=example,dc=org"
|
||
# LDAP_GROUP_SEARCH_FILTER: "(objectClass=posixGroup)"
|
||
# LDAP_USER_MACHER_USER_ATTRIBUTE: "gidNumber"
|
||
# LDAP_USER_MACHER_GROUP_ATTRIBUTE: "gidNumber"
|
||
# LDAP_GROUP_NAME_ATTRIBUTE: "cn"
|
||
|
||
---
|
||
apiVersion: v1
|
||
kind: ServiceAccount
|
||
metadata:
|
||
name: kuboard-boostrap
|
||
namespace: kuboard
|
||
|
||
---
|
||
apiVersion: rbac.authorization.k8s.io/v1
|
||
kind: ClusterRoleBinding
|
||
metadata:
|
||
name: kuboard-boostrap-crb
|
||
roleRef:
|
||
apiGroup: rbac.authorization.k8s.io
|
||
kind: ClusterRole
|
||
name: cluster-admin
|
||
subjects:
|
||
- kind: ServiceAccount
|
||
name: kuboard-boostrap
|
||
namespace: kuboard
|
||
|
||
---
|
||
apiVersion: apps/v1
|
||
kind: DaemonSet
|
||
metadata:
|
||
labels:
|
||
k8s.kuboard.cn/name: kuboard-etcd
|
||
name: kuboard-etcd
|
||
namespace: kuboard
|
||
spec:
|
||
revisionHistoryLimit: 10
|
||
selector:
|
||
matchLabels:
|
||
k8s.kuboard.cn/name: kuboard-etcd
|
||
template:
|
||
metadata:
|
||
labels:
|
||
k8s.kuboard.cn/name: kuboard-etcd
|
||
spec:
|
||
affinity:
|
||
nodeAffinity:
|
||
requiredDuringSchedulingIgnoredDuringExecution:
|
||
nodeSelectorTerms:
|
||
- matchExpressions:
|
||
- key: node-role.kubernetes.io/master
|
||
operator: Exists
|
||
- matchExpressions:
|
||
- key: node-role.kubernetes.io/control-plane
|
||
operator: Exists
|
||
- matchExpressions:
|
||
- key: k8s.kuboard.cn/role
|
||
operator: In
|
||
values:
|
||
- etcd
|
||
containers:
|
||
- env:
|
||
- name: HOSTNAME
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: spec.nodeName
|
||
- name: HOSTIP
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: status.hostIP
|
||
image: 'eipwork/etcd-host:3.4.16-2'
|
||
imagePullPolicy: Always
|
||
name: etcd
|
||
ports:
|
||
- containerPort: 2381
|
||
hostPort: 2381
|
||
name: server
|
||
protocol: TCP
|
||
- containerPort: 2382
|
||
hostPort: 2382
|
||
name: peer
|
||
protocol: TCP
|
||
livenessProbe:
|
||
failureThreshold: 3
|
||
httpGet:
|
||
path: /health
|
||
port: 2381
|
||
scheme: HTTP
|
||
initialDelaySeconds: 30
|
||
periodSeconds: 10
|
||
successThreshold: 1
|
||
timeoutSeconds: 1
|
||
volumeMounts:
|
||
- mountPath: /data
|
||
name: data
|
||
dnsPolicy: ClusterFirst
|
||
hostNetwork: true
|
||
restartPolicy: Always
|
||
serviceAccount: kuboard-boostrap
|
||
serviceAccountName: kuboard-boostrap
|
||
tolerations:
|
||
- key: node-role.kubernetes.io/master
|
||
operator: Exists
|
||
- key: node-role.kubernetes.io/control-plane
|
||
operator: Exists
|
||
volumes:
|
||
- hostPath:
|
||
path: /usr/share/kuboard/etcd
|
||
name: data
|
||
updateStrategy:
|
||
rollingUpdate:
|
||
maxUnavailable: 1
|
||
type: RollingUpdate
|
||
|
||
|
||
---
|
||
apiVersion: apps/v1
|
||
kind: Deployment
|
||
metadata:
|
||
annotations: {}
|
||
labels:
|
||
k8s.kuboard.cn/name: kuboard-v3
|
||
name: kuboard-v3
|
||
namespace: kuboard
|
||
spec:
|
||
replicas: 1
|
||
revisionHistoryLimit: 10
|
||
selector:
|
||
matchLabels:
|
||
k8s.kuboard.cn/name: kuboard-v3
|
||
template:
|
||
metadata:
|
||
labels:
|
||
k8s.kuboard.cn/name: kuboard-v3
|
||
spec:
|
||
affinity:
|
||
nodeAffinity:
|
||
preferredDuringSchedulingIgnoredDuringExecution:
|
||
- preference:
|
||
matchExpressions:
|
||
- key: node-role.kubernetes.io/master
|
||
operator: Exists
|
||
weight: 100
|
||
- preference:
|
||
matchExpressions:
|
||
- key: node-role.kubernetes.io/control-plane
|
||
operator: Exists
|
||
weight: 100
|
||
containers:
|
||
- env:
|
||
- name: HOSTIP
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: status.hostIP
|
||
- name: HOSTNAME
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: spec.nodeName
|
||
envFrom:
|
||
- configMapRef:
|
||
name: kuboard-v3-config
|
||
image: 'eipwork/kuboard:v3'
|
||
imagePullPolicy: Always
|
||
livenessProbe:
|
||
failureThreshold: 3
|
||
httpGet:
|
||
path: /kuboard-resources/version.json
|
||
port: 80
|
||
scheme: HTTP
|
||
initialDelaySeconds: 30
|
||
periodSeconds: 10
|
||
successThreshold: 1
|
||
timeoutSeconds: 1
|
||
name: kuboard
|
||
ports:
|
||
- containerPort: 80
|
||
name: web
|
||
protocol: TCP
|
||
- containerPort: 443
|
||
name: https
|
||
protocol: TCP
|
||
- containerPort: 10081
|
||
name: peer
|
||
protocol: TCP
|
||
- containerPort: 10081
|
||
name: peer-u
|
||
protocol: UDP
|
||
readinessProbe:
|
||
failureThreshold: 3
|
||
httpGet:
|
||
path: /kuboard-resources/version.json
|
||
port: 80
|
||
scheme: HTTP
|
||
initialDelaySeconds: 30
|
||
periodSeconds: 10
|
||
successThreshold: 1
|
||
timeoutSeconds: 1
|
||
resources: {}
|
||
# startupProbe:
|
||
# failureThreshold: 20
|
||
# httpGet:
|
||
# path: /kuboard-resources/version.json
|
||
# port: 80
|
||
# scheme: HTTP
|
||
# initialDelaySeconds: 5
|
||
# periodSeconds: 10
|
||
# successThreshold: 1
|
||
# timeoutSeconds: 1
|
||
dnsPolicy: ClusterFirst
|
||
restartPolicy: Always
|
||
serviceAccount: kuboard-boostrap
|
||
serviceAccountName: kuboard-boostrap
|
||
tolerations:
|
||
- key: node-role.kubernetes.io/master
|
||
operator: Exists
|
||
|
||
---
|
||
apiVersion: v1
|
||
kind: Service
|
||
metadata:
|
||
annotations: {}
|
||
labels:
|
||
k8s.kuboard.cn/name: kuboard-v3
|
||
name: kuboard-v3
|
||
namespace: kuboard
|
||
spec:
|
||
ports:
|
||
- name: web
|
||
nodePort: 30080
|
||
port: 80
|
||
protocol: TCP
|
||
targetPort: 80
|
||
- name: tcp
|
||
nodePort: 30081
|
||
port: 10081
|
||
protocol: TCP
|
||
targetPort: 10081
|
||
- name: udp
|
||
nodePort: 30081
|
||
port: 10081
|
||
protocol: UDP
|
||
targetPort: 10081
|
||
selector:
|
||
k8s.kuboard.cn/name: kuboard-v3
|
||
sessionAffinity: None
|
||
type: NodePort
|