专栏首页SY小站的专栏Kubernetes之自定义hosts

Kubernetes之自定义hosts

1. 前言

在使用k8s 中,难免有一些实例需要添加hosts绑定,最土的办法就是把这个hosts写在dockfile里。但是这样稍显麻烦,其实k8s本身就可以实现这样的功能。

官方文档
https://kubernetes.io/zh/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/

2. 例子

在Deployment 配置中配置 Host 文件中添加 192.168.10.10 映射到 www.baidu.com 域名,Deployment 内容如下

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: tomcat-test-sy
  namespace: test
  labels:
    app: tomcat-test-sy
spec:
  selector:
    matchLabels:
      app: tomcat-test-sy
  revisionHistoryLimit: 5
  replicas: 1
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
  template:
    metadata:
      labels:
        app: tomcat-test-sy 
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - tomcat-test-sy
            topologyKey: kubernetes.io/hostname
      terminationGracePeriodSeconds: 60
      nodeSelector:
        apptype: memnode
      hostAliases:                   #配置hosts文件
      - ip: "192.168.10.10"            #配置解析的IP
        hostnames:
        - "www.baidu.com"            #配置域名
      containers:
      - name: tomcat-test-sy
        image: docker-mirror.siku.cn/test/tomcat-test-sy:20200409
        securityContext:
         privileged: true
        imagePullPolicy: Always
        env:
        - name: JAVA_OPTS
          value: "-Xmx2688M -Xms2688M -Xmn960M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:+CMSClassUnloadingEnabled -XX:+ParallelRefProcEnabled -XX:+CMSScavengeBeforeRemark -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/dump-logs/tomcat-test-sy/dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/data/dump-logs/tomcat-test-sy/heap_trace.log -Dnetworkaddress.cache.ttl=30 -Dsun.net.inetaddr.ttl=30"
        - name: HOST_IP
          valueFrom:
              fieldRef:
                fieldPath: status.hostIP
        resources:
          limits:
            cpu: "2"
            memory: "4096M"
          requests:
            cpu: "1"
            memory: "4096M"

3. 测试

[rsync@tomcat-test]$ kubectl get pods  -n test -l app=tomcat-test-sy
NAME                            READY   STATUS    RESTARTS   AGE
tomcat-test-sy-fdb5466d-mps2d   1/1     Running   0          88s
[rsync@tomcat-test]$ kubectl exec -it tomcat-test-sy-fdb5466d-mps2d bash -n test
[root@tomcat-test-sy-fdb5466d-mps2d /]# cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
10.49.7.251     tomcat-test-sy-fdb5466d-mps2d

# Entries added by HostAliases.
192.168.10.10   www.baidu.com

可以看到,解析已经加进host里面。

本文分享自微信公众号 - SY技术小站(SYjishuzhan),作者:SY小站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • k8s基于自定义指标实现自动扩容

    除了基于 CPU 和内存来进行自动扩缩容之外,我们还可以根据自定义的监控指标来进行。这个我们就需要使用 Prometheus Adapter,Prometheu...

    SY小站
  • Prometheus系列 | 监控elasticsearch

    启动成功后,可以访问 http://192.168.50.153:9109/metrics ,看抓取的信息

    SY小站
  • Kubernetes节点资源耗尽状态的处理

    最近发现测试环境的k8s集群,总有node利用不上,pod漂移过去之后,启动不了,故仔细排查了一下缘由!

    SY小站
  • 大点干!早点散----------ELK企业日志分析系统理论+实战!

    ELK日志分析系统是Logstash、Elasticsearch、Kibana开源软件的集合,对外是作为一个日志管理系统的开源方案,它可以从任何来源、任何格式进...

    不吃小白菜
  • 让.NetCore程序跑在任何有docker的地方

    Windows上下载地址:https://docs.docker.com/docker-for-windows/install/(window上安装的常见问题和...

    Peyshine
  • 为什么要写 tf.Graph().as_default()

    首先,去tensorflow官网API上查询 tf.Graph() 会看到如下图所示的内容:

    于小勇
  • CentOs7下部署tomcat文件服务器

    首先下载tomcat,下载解压版zip格式的 下载地址:http://archive.apache.org/dist/tomcat/tomcat-8/v8....

    我是李超人
  • 用Python进行机器学习(附代码、学习资源)

    本文从非线性数据进行建模,带你用简便并且稳健的方法来快速实现使用Python进行机器学习。

    数据派THU
  • RabbitMQ集群安装

    首先参考上一篇文章【CentsOS原生RabbitMQ安装过程】在两到三台机器上先安装单独的RabbitMQ节点

    Java学习录
  • tensorflow cnn常用函数解析

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) ...

    YG

扫码关注云+社区

领取腾讯云代金券