首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Kubernetes】通过ConfigMap修改容器的DNS

【Kubernetes】通过ConfigMap修改容器的DNS

作者头像
runzhliu
发布于 2020-08-06 00:04:23
发布于 2020-08-06 00:04:23
2.1K0
举报
文章被收录于专栏:容器计算容器计算

业务容器需要在 A 集群解析 B 集群的容器,已知 B 集群的 Pod 如果重启后,IP 会变化,所以在 B 集群创建 StatefulSet,并且创建 Headless Service,A 容器通过访问 B 集群这些服务的 ServiceName 来通信,因此 A 集群容器需要在访问 B 集群 ServiceName 的时候能够解析出 IP,所以这里通过给 B 集群的 kube-dns 创建负载均衡或者内网 IP,之后将内网 IP 写入 /etc/resolv.conf 文件中,在 A 集群创建 ConfigMap,最后将其挂载给业务容器。

假设这个 ConfigMap 如下。

代码语言:javascript
复制
apiVersion: v1
data:
  resolv.conf: |
    nameserver x.xx.xxx.xxx
kind: ConfigMap
metadata:
  name: huanandns
  namespace: test

Pod 的定义如下,主要注意 volumes 和 volumesmount,subpath 是到文件的。

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: testcm-755976b754-pxtpt
  namespace: test
  ownerReferences:
  - apiVersion: extensions/v1beta1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: testcm-755976b754
spec:
  containers:
  - args:
    - "36000"
    command:
    - sleep
    image: nginx:latest
    imagePullPolicy: Always
    name: new-container-1
    resources:
      limits:
        cpu: "1"
        memory: 100Mi
      requests:
        cpu: "1"
        memory: 100Mi
    volumeMounts:
    - mountPath: /etc/resolv.conf
      name: cm
      subPath: resolv.conf
  volumes:
  - configMap:
      name: huanandns
    name: cm

Reference

  1. https://kubernetes.io/zh/docs/tasks/configure-pod-container/configure-pod-configmap/
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/06/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • Reference
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档