k8s 集群提供的功能
- 调度与扩展,容器应该在哪里运行,根据
CPU
和MEMORY
实现自动扩容 - 生命周期和健康状况,能自动替换失效的
POD
,防止服务中断 - 服务发现,自动发生一组容器,并实现相互通信
- 监控,剔除故障节点,保证容器正常运行
- 认证,谁能访问我
K8S 架构草图
闪射理想之光吧心灵之星!把光流注入未来的暮霭之中。
Dockfile
是一种被Docker程序解释
的脚本文件,Dockerfile
由一条一条的指令组成,每条指令对应Linux下面的一条命令,Docker程序将这些Dockerfile指令翻译真正的Linux命令
;Dockerfile
有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile
,Docker程序将读取Dockerfile,根据指令生成定制的image
。
Dockerfile
的指令是忽略大小写的,建议使用大写,使用 #
作为注释
,每一行只支持一条连续的指令,每条指令可以携带多个参数。
Dockerfile
是一个文本文件,其内包含了一条条的指令(Instruction)
,每一条指令构建一层, 因此每一条指令的内容,就是描述该层应当如何构建
。
有时不需要或不想要负载均衡,以及单独的 Service IP。 遇到这种情况,可以通过指定 Cluster IP(spec.clusterIP)的值为 “None” 来创建 Headless Service。
您可以使用 headless Service 与其他服务发现机制进行接口,而不必与 Kubernetes 的实现捆绑在一起。
对这 headless Service 并不会分配 Cluster IP,kube-proxy 不会处理它们,而且平台也不会为它们进行负载均衡和路由。 DNS 如何实现自动配置,依赖于 Service 是否定义了 selector。
Lable Secector:
配置 Selector:对定义了 selector 的 Headless Service,Endpoint 控制器在 API 中创建了 Endpoints 记录,并且修改 DNS 配置返回 A 记录(地址),通过这个地址直接到达 Service 的后端 Pod上。见下图:
不配置 Selector:对没有定义 selector 的 Headless Service,Endpoint 控制器不会创建 Endpoints 记录。
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true