apiVersion: apps/v1 #指定API版本标签 kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints metadata: #定义资源的元数据信息 name: es-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的 namespace: lk #默认default labels: #定义资源标签 app: yamles-d spec: replicas: 1 #定义副本数量 selector: #定义选择器 matchLabels: #匹配上边的标签 app: yamles-d #名称 template: #定义模板 metadata: labels: app: yamles-d spec: containers: #定义容器信息 - name: yamles #容器名,与标签名要相同 image: repository.anxinyun.cn/base-images/es:6.8.2-3.21-04-21 #容器使用的镜像以及版本 imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像 env: #环境变量 - name: "cluster.name" #变量的名字 value: "elasticsearch" #变量的值 - name: "discovery.type" value: "single-node" - name: "ES_JAVA_OPTS" value: "-Xms512m -Xmx512m" ports: - containerPort: 9200 #定义容器的对外端口 volumeMounts: - name: vol-data #挂载设备的名字,与volumes[*].name 需要对应 mountPath: /usr/share/elasticsearch/data # 容器的数据目录 volumes: # volumes和container处于同一层级,别搞错了 - name: vol-data hostPath: path: /home/anxinlocal/esdata # 宿主机目录 --- apiVersion: v1 #指定API版本标签 kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints metadata: #定义资源的元数据信息 name: es-service #定义资源的名称,在同一个namespace空间中必须是唯一的 namespace: lk #默认default labels: #定义资源标签 app: es-s spec: selector: app: yamles-d #deployment标签 type: NodePort ports: - protocol: TCP port: 9200 # 集群内访问 targetPort: 9200 #集群内 容器内端口 nodePort: 30092 #集群外访问 范围30000-32767