Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >k8s中服务添加hosts及一键转换脚本

k8s中服务添加hosts及一键转换脚本

原创
作者头像
Ewdager
修改于 2020-07-31 02:39:17
修改于 2020-07-31 02:39:17
1.3K0
举报
文章被收录于专栏:Gvoidy备份小站Gvoidy备份小站

项目管理k8s集群用的是rancher,可是rancher没有提供给deployment批量添加hosts的图形化界面,所以还是只能按照k8s官方的方法修改yaml文件。

示例

使用 HostAliases 向 Pod /etc/hosts 文件添加条目

代码语言:txt
AI代码解释
复制
apiVersion: v1
kind: Pod
metadata:
  name: hostaliases-pod
spec:
  restartPolicy: Never
  hostAliases:
  - ip: "127.0.0.1"
    hostnames:
    - "foo.local"
    - "bar.local"
  - ip: "10.1.2.3"
    hostnames:
    - "foo.remote"
    - "bar.remote"
  containers:
  - name: cat-hosts
    image: busybox
    command:
    - cat
    args:
    - "/etc/hosts"

一键转换脚本

本脚本仍需要一定的手动操作

  • 将需要修改的hosts文件改为csv格式(记得设置表头)
代码语言:txt
AI代码解释
复制
import pandas as pd
import ruamel.yaml

data = pd.read_csv(r"hosts.csv")

ip = data.loc[:, "ip"].tolist()
hosts = data.loc[:, "hosts"].tolist()

res = {
    "hostAliases": []
}

for i in range(len(ip)):
    res_side = {
        "ip": ip[i],
        "hostnames": [hosts[i]]
    }
    res['hostAliases'].append(res_side)

with open('hosts.yaml', 'w') as f:
    yaml = ruamel.yaml.YAML()
    yaml.default_style = "\""
    yaml.dump(res, f)
    f.close()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
k8s服务发现之配置Pod的hosts
某些情况下,DNS 或者其他的域名解析方法可能不太适用,您需要配置 /etc/hosts 文件,在Linux下是比较容易做到的,在 Kubernetes 中,可以通过 Pod 定义中的 hostAliases 字段向 Pod 的 /etc/hosts 添加条目。
linus_lin
2024/09/06
1620
k8s服务发现之配置Pod的hosts
深入k8s:Pod对象中重要概念及用法
Pod,实际上是在扮演传统基础设施里“虚拟机”的角色;而容器,则是这个虚拟机里运行的用户程序。
luozhiyun
2020/07/27
5590
kubernete编排技术一:pod
在之前的文章《kubernete中的原子调度单位:pod》中提到过,如果把kubernete比作linux操作系统,那pod就是虚拟机,pod里面的容器就是虚拟机上的进程。这个类比可以说非常形象。在Linux上,进程并不是完全独立的,一些进程之间存在着一些关联,比如一个springboot应用和一个日志收集服务。pod正是使用了容器进程之间的这些关系,做的编排。
jinjunzhu
2020/08/20
6370
Kubernetes整理
一般做法:容器A共享容器B$ docker run --net=B --volumes-from=B --name=A image-A ...,这种做法会存在一个问题,容器AB的关系从对等变成了拓扑。
铭丶
2021/03/12
7390
「走进k8s」Kubernetes1.15.1的服务发现kubedns(33)
PS:通过dns可以访问同一个namespace,dns跟网络经常使用的域名方式很类似的,就是域名dns找到对应的服务,性质是一样的。下节咱们说说如果不在同一个namespace下如何进行通信的问题。
IT架构圈
2019/09/08
8160
如何使用K8S快速部署测试环境
对于已经成熟的项目团队,测试环境基本上已经配置完成,开发人员提测后,会有本次提测的版本信息,涉及到项目中哪些工程,包括前端,后端等,不需要太多的配置即可完成测试环境的构建及部署。
漫谈测试
2025/03/29
930
如何使用K8S快速部署测试环境
kubernetes(k8s)常用deploy模板 并验证
kubernetes常用deploy模板,并验证 ======================== [图片] 编写deploy配置文件 ============ root@hello:~# cat deploy.yaml  apiVersion: apps/v1 kind: Deployment metadata:    name: hostname-test-cby   labels:     name: hostname-test-cby spec:   # 副本数   replica
小陈运维
2022/05/18
4790
二进制安装Kubernetes(k8s) v1.23.4 ---(下)
在新版的Kubernetes中系统资源的采集均使用Metrics-server,可以通过Metrics采集节点和Pod的内存、磁盘、CPU和网络的使用率
小陈运维
2022/03/01
7800
【k8s】service服务和job服务
Xiongan-桃子
2023/06/10
4000
【k8s】service服务和job服务
06 . Kubernetes之Pod控制器详细介绍及应用
除了deployment是v1的升级版,其他的基本都是v1。 # kubectl api-versions
iginkgo18
2020/09/27
1.1K0
06 . Kubernetes之Pod控制器详细介绍及应用
在 k8s 中配置域名解析
在应用开发中,我们不应把远程服务的 ip 硬编码到应用中。有些同学习惯使用域名来标定远程服务,通过修改解析,来区分开发测试和生产环境,这是一个挺好的习惯。
谢正伟
2020/06/05
13.1K0
从入门到跑路之Kubernetes(八)
我们知道,容器的本质就是进程,那么就可以把Kubernetes类比为“操作系统“,因为它和操作系统类似,都是用来管理进程和进程之间关系的。
周萝卜
2019/07/17
4690
从入门到跑路之Kubernetes(八)
基于streamx闲聊flink在k8s上的实践
由于容器化易管理、易扩容等优点,越来越多的组件都开始迁移到容器上,k8s作为容器化的事实标准,受到了越来越多的人的青睐,由于我们目前很多web开发的组件也是部署到k8s上的,为了后续运维更加方便,我把我们用到的一些大数据组件都迁移到了k8s,包括hive、trino、flink、clickhouse等等。
大数据技术与应用实战
2022/02/23
1.1K0
基于streamx闲聊flink在k8s上的实践
kubernetes中常用对象pod的相关介绍
pod是一组紧密关联的容器组合,他们共享PID,IPC,NETWORK,UTS namespace,一个Pod里可以运行多个容器,一个Pod里的多个容器共享网络和文件系统,它们可以直接俄通过lo口进行通信。
极客运维圈
2020/01/18
6620
kubernetes中常用对象pod的相关介绍
(3 / 3)CentOS搭建K8s微服务20条
k8s第三方资源监控资源展示平台、Prometheus(数据收集)、Grafana(数据展示)
老张的哲学
2023/01/09
5320
K8S的常见四种自动化部署方式
K8S的常见四种自动化部署方式:Kind,Minikube,KubeAdmin,KubeSpray
后端云
2022/06/09
3.2K0
用 Ansible 简化 K8S 部署,脚本现成!
前面我写了关于k8s环境部署的几篇文章,k8s部署还是比较麻烦的,所以是有必要考虑一键部署的方案,这里借助ansible playbook来实现k8s环境的一键部署,实现快速部署的目的。关于k8s传统部署详细过程可以参考以下文章:
我的小碗汤
2023/03/20
3.2K0
用 Ansible 简化 K8S 部署,脚本现成!
k8s运维命令大全
k8s常用命令 node 查看服务器节点 kubectl get nodes 查看服务器节点详情 kubectl get nodes -o wide 节点打标签 kubectl label nodes <节点名称> labelName=<标签名称> 查看节点标签 kubectl get node --show-labels 删除节点标签 kubectl label node <节点名称> labelName- pod 查看pod节点 kubectl get pod 查看pod节点详情 kubectl g
ruochen
2021/12/04
5K0
利用K8S技术栈打造个人私有云(连载之:K8S环境理解和练手)
在前文中我们已经搭建好了K8S集群,接下来就来讲述一下K8S的一些重要的概念和知识,并搞两个例子在集群中来实际练手感受一把!
CodeSheep
2018/04/16
1.7K11
利用K8S技术栈打造个人私有云(连载之:K8S环境理解和练手)
K8s面试系列:K8s常用 API 资源总结速记
整理这部分笔记,在找 K8s干扰预算相关笔记的时候,突然看到那篇笔记末尾之前摘的一句话; "我曾以为总有一天,我能够改变一些什么,可当我看见她渐渐淹没在人海的时候,我才明白,我们这一生除了相遇大概注定一事无成了。 ——网易云" 。似水流年,却未曾三十而立...
山河已无恙
2025/02/25
910
K8s面试系列:K8s常用 API 资源总结速记
相关推荐
k8s服务发现之配置Pod的hosts
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文