Kubernetes 关键组件与工具详解
2015-09-14 16:12:36 31 举报
AI智能生成
本文详细介绍 Kubernetes (K8s) 的核心组件和工具,帮助您深入理解 Kubernetes 的架构和功能。探索 Mimikube 这一快速集群搭建工具的特性,以及 kubectl 命令的常用操作,包括 run、create、logs、delete、apply、get 和 describe。学习 Helm 作为应用部署管理工具的作用,了解 Fission 框架的功能,Flannel 网络工具如何解决 Docker 集群的跨主机通讯问题。此外,本文还详细解析 Kubernetes 的核心组件,如 etcd、apiserver、controller manager、scheduler、kubelet 和 kube-proxy 的功能,以及 kube-dns、Ingress Controller、Heapster 和 Fluentd-elasticsearch 等插件的作用和使用。
作者其他创作
大纲/内容
核心组件
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">etcd保存了整个集群的状态;</li></ul>
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;</li></ul>
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;</li></ul><br class="Apple-interchange-newline">
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;</li></ul><br class="Apple-interchange-newline">
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;</li></ul><br class="Apple-interchange-newline">
<span style="color: rgb(102, 102, 102); font-family: "Helvetica Neue", STHeiti, "Microsoft YaHei", Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">监控agent---cAdvisor</span>
http://node-ip:4194
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);</li></ul><br class="Apple-interchange-newline">
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;</li></ul><br class="Apple-interchange-newline">
插件
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">kube-dns负责为整个集群提供DNS服务</li></ul><br class="Apple-interchange-newline">
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Ingress Controller为服务提供外网入口</li></ul><br class="Apple-interchange-newline">
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Heapster提供资源监控</li></ul><br class="Apple-interchange-newline">
influxdb 存储<br>
<span style="color: rgb(102, 102, 102); font-family: "Helvetica Neue", STHeiti, "Microsoft YaHei", Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Grafana的前端进行数据可视化</span>
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Dashboard提供GUI</li></ul><br class="Apple-interchange-newline">
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Federation提供跨可用区的集群</li></ul><br class="Apple-interchange-newline">
<ul style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: normal; font-weight: 400; margin: 0px 0px 1.6471em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: disc; color: rgb(51, 51, 51); font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><li style="box-sizing: inherit; border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, 微软雅黑, 宋体; font-size: 17px; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Fluentd-elasticsearch提供集群日志采集、存储与查询</li></ul><br class="Apple-interchange-newline">
<span style="color: rgb(51, 51, 51); font-family: arial; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Mimikube 是一个快速搭建集群的小工具,go 编写,拥有大部要标准的 Kubernertes 特性。</span>
kubectl
namespace
deployment
pod
service
命令
run
create -f<br>
logs
delete
apply
get
describe
helm
应用部署管理工具<br>
fission 框架<br>
<span style="color: rgb(197, 200, 198); font-family: Consolas, menlo, monospace; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(29, 31, 33); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">fission</span>
flannel
<span style="color: rgb(85, 85, 85); font-family: 华文中宋, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">解决Dokcer集群跨主机通讯的覆盖网络工具</span>
0 条评论
下一页