使用内嵌ETCD,挂载ETCD数据目录。镜像使用的自定义servicecomb RPM包
---
apiVersion: v1
kind: Service
metadata:
name: servicecomb
labels:
app: servicecomb
spec:
ports:
- port: 30100
targetPort: 30100
name: sercombport
clusterIP: None
selector:
app: servicecomb
---
apiVersion: v1
kind: Service
metadata:
name: servicecomb-cs
labels:
app: servicecomb
spec:
ports:
- port: 80
targetPort: 30100
name: centerclient
- port: 30103
targetPort: 30103
name: frontendclient
selector:
app: servicecomb
type: NodePort
---
apiVersion: v1
kind: ConfigMap
metadata:
name: servicecomb-config
labels:
app: servicecomb
data:
app.conf: |
ETCD_DATA_DIR="/data/svr/etcd/data"
component_name = service_center
runmode = prod
frontend_host_ip = 0.0.0.0
httpaddr = 0.0.0.0
frontend_host_port = 30103
httpport = 30100
read_header_timeout = 60s
read_timeout = 60s
idle_timeout = 60s
write_timeout = 60s
max_header_bytes = 32768
max_body_bytes = 2097152
enable_pprof = 0
plugins_dir = ./plugins
discovery_plugin = etcd
aggregate_mode = ""
self_register = 1
registry_plugin = embeded_etcd
manager_name = "sr-0"
manager_addr = "http://127.0.0.1:22380"
manager_cluster = "sr-0=http://127.0.0.1:22380"
auto_sync_interval = 30s
connect_timeout = 10s
registry_timeout = 30s
compact_index_delta = 100
compact_interval = 12h
enable_cache = 1
cipher_plugin = ""
quota_plugin = ""
auth_plugin = ""
auditlog_plugin = ""
trace_plugin = ""
uuid_plugin = "context"
limit_ttl = "s"
limit_conns = 0
limit_iplookups = "RemoteAddr,X-Forwarded-For,X-Real-IP"
ssl_plugin = ""
ssl_mode = 0
ssl_verify_client = 1
ssl_min_version = TLSv1.2
ssl_ciphers = TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256
log_rotate_size = 20
log_backup_count = 50
log_format = text
log_sys = false
[prod]
loglevel = INFO
logfile = /data/logs/servicecomb/service-center.log
[dev]
loglevel = DEBUG
logfile = ""
enable_pprof = 1
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: servicecomb
name: servicecomb
spec:
replicas: 1
selector:
matchLabels:
app: servicecomb
serviceName: servicecomb
template:
metadata:
labels:
app: servicecomb
annotations:
reloader.stakater.com/auto: "true"
spec:
containers:
- name: servicecomb
image: harbor.ops.xxx.cn/bus/servicecomb:v1 #镜像地址
# imagePullPolicy: IfNotPresent
imagePullPolicy: Always
ports:
- containerPort: 30100
name: centerport
protocol: TCP
- containerPort: 30103
name: frontendport
protocol: TCP
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
command:
- /bin/sh
- -ec
- |
cd /data/svr/servicecomb && sh start-frontend.sh
exec ./service-center
readinessProbe:
tcpSocket:
port: 30100
initialDelaySeconds: 30
periodSeconds: 5
timeoutSeconds: 5
livenessProbe:
tcpSocket:
port: 30100
initialDelaySeconds: 40
periodSeconds: 30
successThreshold: 1
failureThreshold: 1
volumeMounts:
- mountPath: /data/svr/servicecomb/data
name: combedata
- name: combconfig
mountPath: /data/conf/servicecomb/app.conf
subPath: app.conf
volumes:
- name: combconfig
configMap:
defaultMode: 0655
name: servicecomb-config
volumeClaimTemplates:
- metadata:
name: combedata
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: default-nfs
resources:
requests:
storage: 0.5Gi