1. apiVersion: v1 #指定api版本,此值必须在kubectl apiversion
  2. kind: ConfigMap #指定创建资源的角色/类型
  3. metadata: #资源的元数据/属性
  4. name: cluster-link-config #资源的名字,在同一个namespace中必须唯一(name不允许使用大写)
  5. namespace: hivesec #命名空间
  6. data:
  7. registry: 192.168.222.140/hivesec #仓库地址
  8. server: 192.168.192.242 #蜂巢地址
  9. com_id: 47775676666d4650334a
  10. key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF0eDRNNnlkN1ZJZld1MTAxclB0VgpHMDY1SU1hZHZubzE3WEJCQ0Z1RXNvN2NpZWFGOFZ4RE9sK284QmE4LzJqN2NDR3lwK2dlSjJrbE9BRko0UzAvCjE0YWJPRy8vcUMzTnF0WEtpcWFnUC9ZUnQxZ01VRHk4Um5YUTZTcmdERlQ0NGVDLzBTNm1UY1ZvaDE1ZW9sRXEKYnZpVjNMTE5acUdrcmVYOHpqalgzQkRmSy9uVGx6M284RjlxQkZlZDQ3anF2dGFtNGRDeE1DbmpMSEdqeDk4VQpuL3ZveVliWEdGb0lUZUZFVUlkUDR3aGhsWWJPcW1leW04b1I0VXVKTm8zb2IwWUZoTlhUL0ZpU2R4dDA0dVV1CnM4N1BEd2ZvQU5mcnlCVEZWZXZTVnRoQ3UxTEFLaU9Ydzh0WjRab21uV3hUUG1vOXpBSWdTT3VHVUpjR3hzTGIKZHdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0t
  11. hive_namespace: hivesec
  12. ---
  13. apiVersion: apps/v1
  14. kind: Deployment
  15. metadata:
  16. name: cluster-link
  17. namespace: hivesec
  18. spec:
  19. replicas: 1 #创建一个副本
  20. selector:
  21. matchLabels:
  22. app: cluster-link
  23. strategy:
  24. type: RollingUpdate
  25. template:
  26. metadata:
  27. labels: #label标签
  28. app: cluster-link
  29. spec:
  30. serviceAccount: hivesec-central-sa
  31. dnsPolicy: ClusterFirst
  32. imagePullSecrets:
  33. - name: hivesec-secret
  34. containers: #pod内运行的容器(数组的格式)。
  35. - name: cluster-link #容器名。
  36. image: 192.168.222.140/hivesec/cluster-link:1.7 #拉取镜像的地址。
  37. imagePullPolicy: Always #always总是从远程拉取策略,ifNoPresent:优先使用本地的,否则拉取镜像。Never:只使用本地镜像,从不去远程仓库拉取镜像。
  38. env: #环境变量
  39. - name: HIVE_NAMESPACE
  40. valueFrom:
  41. configMapKeyRef:
  42. name: cluster-link-config
  43. key: hive_namespace
  44. - name: JAVA_TOOL_OPTIONS
  45. value: -Xmx800m
  46. - name: PROXY
  47. value: ''
  48. volumeMounts: #挂载到容器内部的存储卷配置
  49. - name: log
  50. mountPath: /var/log/clusterlink/ #存储卷在容器内mount的绝对路径
  51. resources: #资源限制和资源请求的设置
  52. limits: #限制资源(上限)超过会重启
  53. cpu: '0.3' #cpu限制,单位core数
  54. memory: 800Mi #内存限制
  55. ports:
  56. - name: cluster-link #端口名称,在pod中是唯一的
  57. containerPort: 9001 #容器监听端口
  58. protocol: TCP #端口协议,必须是UDP、TCP、SCTP。默认为TCP
  59. - name: hivesec-proxy
  60. image: 192.168.222.140/hivesec/hivesec-proxy:1.1.1
  61. imagePullPolicy: Always #镜像拉取策略
  62. ports:
  63. - name: http
  64. containerPort: 1080
  65. protocol: TCP
  66. resources:
  67. limits:
  68. cpu: '0.3'
  69. memory: 200Mi
  70. restartPolicy: Always #容器重启策略
  71. volumes:
  72. - name: log
  73. hostPath: #类型为hostPath存储卷,表示挂载Pod所在主机的目录。
  74. 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