将代码/文件直接注入 Google Cloud Engine 上的 Kubernetes 容器中

2024-05-01

如何将代码/文件直接注入 Google Cloud Engine 上的 Kubernetes 容器中,类似于使用 Docker 挂载主机文件/目录的方式,例如

docker run -d --name nginx -p 443:443 -v "/nginx.ssl.conf:/etc/nginx/conf.d/default.conf"

Thanks


可以使用 ConfigMap 来实现该目标:

以下示例将 mariadb 配置文件挂载到 mariadb POD 中:

配置映射表

apiVersion: v1
data:
  charset.cnf: |
    [client]
    # Default is Latin1, if you need UTF-8 set this (also in server section)
    default-character-set = utf8 

    [mysqld]
    #
    # * Character sets
    #
    # Default is Latin1, if you need UTF-8 set all this (also in client section)
    #
    character-set-server  = utf8 
    collation-server      = utf8_unicode_ci 

kind: ConfigMap
metadata:
  name: mariadb-configmap

MariaDB 部署

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mariadb
  labels:
    app: mariadb  
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: mariadb
        version: 10.1.16
    spec:
      containers:
      - name: mariadb
        image: mariadb:10.1.16
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mariadb
              key: rootpassword
        volumeMounts:
        - name: mariadb-data
          mountPath: /var/lib/mysql
        - name: mariadb-config-file
          mountPath: /etc/mysql/conf.d   
      volumes:
      - name: mariadb-data
        hostPath: 
          path: /var/lib/data/mariadb
      - name: mariadb-config-file
        configMap:
          name: mariadb-configmap

也可以使用 kubernetes 1.3 版本中提供的 subPath 功能,如所述here https://github.com/kubernetes/kubernetes/issues/23748#issuecomment-230390309.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将代码/文件直接注入 Google Cloud Engine 上的 Kubernetes 容器中 的相关文章

随机推荐