48.第40章 kubernetes
一.k8s的service和ep是如何关联和相互影响的
1.api-server创建service对象,与service绑定的pod地址:称之为endpoints
2.服务发现方面:kube-proxy监控service后端endpoint的动态变化,并且维护service和endpoint的映射关系
二.k8s coredns解析流程,如何访问外网
运行Pod时,kubelet将预先配置集群DNS服务器到Pod中,并搜索节点自己的DNS设置路径(默认路径/etc/resolv)。当我们k8s内部DNS无法解析的域名时会将请求抛给上一级DNS解析器,也就是我们宿主机级别解析器进行解析
三.k8s coredns和kubedns区别
在Kubernetes1.11版本中,CoreDNS已经实现了基于DNS的服务发现的GA,可作为kube-dns插件的替代品。使用kube-dns集群插件对于实施的可靠性、灵活性和安全性存在一些担忧
CoreDNS是一个通用的权威DNS服务器,提供与Kubernetes后向兼容但可扩展的集成。它解决了kube-dns所遇到的问题,并提供了许多独特的功能,可以解决各种各样的用力。
实施差异
在kube-dns中,一个Pod内使用了数个容器: kubedns、dnsmasq和sidecar。kubedns容器监视Kubernetes API并基于Kubernetes DNS规范提供DNS记录,dnsmasq提供缓存和存根域支持,sidecar提供指标和健康检查。
kube-dns设置会导致一些问题随着时间的推移而出现。首先,dnsmqsq中的安全漏洞导致过去需要发布Kubernetes安全补丁。此外,由于dnsmasq处理根羽,但kube-dns处理External Services,因此无法在外部服务中使用根域。
在CoreDNS中,所有这些功能都在一个容器中完成—-该容器运行用GO编写的进程。启用的不同插件来复制kube-dns中的功能
原文地址:https://www.cnblogs.com/neteagles/p/15010450.html
- 基于百度翻译的简单爬虫翻译-- coding:utf-8 --访问网址模拟浏览器创建文件夹用一个text文件保存,文件名用单词名字
- .net采集网页方法大全(5种)
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 中文分词之结巴分词~~~附使用场景+demo(net)
- 用微信二维码登录自己的网站
- 2620: [Usaco2012 Mar]Haybale Restacking
- 1671: [Usaco2005 Dec]Knights of Ni 骑士
- 1592: [Usaco2008 Feb]Making the Grade 路面修整
- Mysql 该如何 Entity Framework 数据库迁移 和 如何更好的支持EF.Extended
- 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛
- 高性能替代反射调用的几种方式
- 1596: [Usaco2008 Jan]电话网络
- 1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
- 1647: [Usaco2007 Open]Fliptile 翻格子游戏
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Rust FFI 编程 - Rust导出共享库04
- 使用结构化的标头字段改善HTTP
- c语言直接读写ini配置文件
- Rust FFI 编程 - Rust导出共享库03
- 【crossbeam系列】2 crossbeam-epoch:基于epoch的无锁“垃圾收集”
- java调用JNI总结
- 【Rust日报】2020-07-30 fixed_vec减少Rust数组冗余边界检查
- 我的小工具,用C和python实现远程读卡器,远程读写消费卡片
- c语言实现TCP的socket通信
- 多文件目录Makefile的写法
- 一个有趣的例子带你入门canvas
- GitLab 12 跨版本 13 升级
- 【Rust日报】2020-07-28 SO:在命令行下浏览StackOverflow
- 【翻译】200行代码讲透RUST FUTURES (6)
- MPU6050姿态解算方式1-DMP