提问参考模版:
- nebula 版本:3.3.0
- 部署方式:nebula集群
- 安装方式:k8s /docker
- 是否上生产环境:Y
- 问题的具体描述
使用官方提供的3.3.0版本的docker镜像,k8s的配置文件如下(以metad为例):
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nebula-metad
labels:
app: nebula-metad
spec:
serviceName: nebula-metad
replicas: 2
selector:
matchLabels:
app: nebula-metad
template:
metadata:
labels:
app: nebula-metad
spec:
containers:
- name: nebula-metad
image: xxx.com/nebula-metad:v3.3.0-arm64
command: [ "/bin/bash", "-ecx" ]
args: [ "exec /usr/local/nebula/bin/nebula-metad --flagfile=/usr/local/nebula/etc/nebula-metad.conf --daemonize=false --local_ip=$(hostname).nebula-metad.default.svc.cluster.local"]
ports:
- name: thrift
containerPort: 9559
- name: http
containerPort: 19559
- name: http2
containerPort: 19560
volumeMounts:
- name: config
mountPath: /usr/local/nebula/etc/
- name: timezone
mountPath: /etc/localtime
- name: data
mountPath: /usr/local/nebula/data
imagePullSecrets:
- name: registry-key-power
volumes:
- name: timezone
hostPath:
path: /etc/localtime
- name: config
configMap:
name: nebula-metad
volumeClaimTemplates:
- metadata:
name: data
annotations:
volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"
spec:
accessModes: [ "ReadWriteMany" ]
resources:
requests:
storage: 2Gi
问题:启动命令里的–local_ip项必须写全限定域名才能启动,写成$(hostname).nebula-metad 则启动失败,导致在configmap中配置nebula所有配置文件中的 --meta_server_addrs 项也必须写全限定域名,很不方便,这个有什么解决办法吗,上述–local_ip 是必须写全限定域名吗