apiVersion: v1 #指定api版本,此值必须在kubectl apiversionkind: ConfigMap #指定创建资源的角色/类型metadata: #资源的元数据/属性 name: cluster-link-config #资源的名字,在同一个namespace中必须唯一(name不允许使用大写) namespace: hivesec #命名空间data: registry: 192.168.222.140/hivesec #仓库地址 server: 192.168.192.242 #蜂巢地址 com_id: 47775676666d4650334a key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF0eDRNNnlkN1ZJZld1MTAxclB0VgpHMDY1SU1hZHZubzE3WEJCQ0Z1RXNvN2NpZWFGOFZ4RE9sK284QmE4LzJqN2NDR3lwK2dlSjJrbE9BRko0UzAvCjE0YWJPRy8vcUMzTnF0WEtpcWFnUC9ZUnQxZ01VRHk4Um5YUTZTcmdERlQ0NGVDLzBTNm1UY1ZvaDE1ZW9sRXEKYnZpVjNMTE5acUdrcmVYOHpqalgzQkRmSy9uVGx6M284RjlxQkZlZDQ3anF2dGFtNGRDeE1DbmpMSEdqeDk4VQpuL3ZveVliWEdGb0lUZUZFVUlkUDR3aGhsWWJPcW1leW04b1I0VXVKTm8zb2IwWUZoTlhUL0ZpU2R4dDA0dVV1CnM4N1BEd2ZvQU5mcnlCVEZWZXZTVnRoQ3UxTEFLaU9Ydzh0WjRab21uV3hUUG1vOXpBSWdTT3VHVUpjR3hzTGIKZHdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0t hive_namespace: hivesec---apiVersion: apps/v1kind: Deploymentmetadata: name: cluster-link namespace: hivesecspec: replicas: 1 #创建一个副本 selector: matchLabels: app: cluster-link strategy: type: RollingUpdate template: metadata: labels: #label标签 app: cluster-link spec: serviceAccount: hivesec-central-sa dnsPolicy: ClusterFirst imagePullSecrets: - name: hivesec-secret containers: #pod内运行的容器(数组的格式)。 - name: cluster-link #容器名。 image: 192.168.222.140/hivesec/cluster-link:1.7 #拉取镜像的地址。 imagePullPolicy: Always #always总是从远程拉取策略,ifNoPresent:优先使用本地的,否则拉取镜像。Never:只使用本地镜像,从不去远程仓库拉取镜像。 env: #环境变量 - name: HIVE_NAMESPACE valueFrom: configMapKeyRef: name: cluster-link-config key: hive_namespace - name: JAVA_TOOL_OPTIONS value: -Xmx800m - name: PROXY value: '' volumeMounts: #挂载到容器内部的存储卷配置 - name: log mountPath: /var/log/clusterlink/ #存储卷在容器内mount的绝对路径 resources: #资源限制和资源请求的设置 limits: #限制资源(上限)超过会重启 cpu: '0.3' #cpu限制,单位core数 memory: 800Mi #内存限制 ports: - name: cluster-link #端口名称,在pod中是唯一的 containerPort: 9001 #容器监听端口 protocol: TCP #端口协议,必须是UDP、TCP、SCTP。默认为TCP - name: hivesec-proxy image: 192.168.222.140/hivesec/hivesec-proxy:1.1.1 imagePullPolicy: Always #镜像拉取策略 ports: - name: http containerPort: 1080 protocol: TCP resources: limits: cpu: '0.3' memory: 200Mi restartPolicy: Always #容器重启策略 volumes: - name: log hostPath: #类型为hostPath存储卷,表示挂载Pod所在主机的目录。 path: /var/log/hiveagent/
configMap
ConfigMap是存储通用的配置变量的,类似于配置文件,使用户可以将分布式系统中用于不同模块的环境变量统一到一个对象中管理;而它与配置文件的区别在于它是存在集群的“环境”中的,并且支持K8S集群中所有通用的操作调用方式。<br /> 从数据角度来看,ConfigMap的类型只是键值组,用于存储被Pod或者其他资源对象(如RC)访问的信息。这与secret的设计理念有异曲同工之妙,主要区别在于ConfigMap通常不用于存储敏感信息,而只存储简单的文本信息。<br />ConfigMap可以保存环境变量的属性,也可以保存配置文件。<br /> 创建pod时,对configmap进行绑定,pod内的应用可以直接引用ConfigMap的配置。相当于configmap为应用/运行环境封装配置。<br />pod使用ConfigMap,通常用于:设置环境变量的值、设置命令行参数、创建配置文件。
Deployment