答:k8s或kube。
答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序。本质上是一种特殊的数据库,里面存储的是能够组成kubernetes模型的各种资源,包括Pods、Deployments、Services、Config Maps、Secrets、Namespaces、Nodes、Service Accounts、Ingress、Jobs等等。可以参考:kubernetes实战之运行aspnetcore webapi微服务第9点部分浅析kubernetes。
答:容器编排引擎,管理容器的生命周期和方方面面。
答:使用客户端工具kubectl,相当于kubernetes的RESTful接口,这是交互的基本模式。
答:kubectl scale 直接指明需要伸缩的Deployment名字即可,而不需要数据库中修改相关资源。 kubectl run 使用某镜像创建Deployment,无需写yml文件完整的描述pod的各种细节。 kubectl expose deploy [name] --type=NodePort --name=[name] --port=80 直接为部署暴露类型为NodePort的服务。
答:一把使用yml文件或json文件,配合各种kubectl命令。
答:etcd。
答:一个“副本集”对象,封装pod的弹性伸缩。例如:使用ReplicaSet告诉k8s集群部署pod,并始终维持5个pod实例。
答:ReplicaSet Controller监控数据库中的数据变化, 然后检查实际环境中ReplicaSet对象所拥有的pod实际实例数量,如果超过期望的数量,就杀掉富余的pod;如果不足,就立即创建新的pod补充。
答:一种特殊的控制器,运行在集群中每个执行节点上,是集群的守护神。
答:当第一次集群调度部署完成后,后续kubelete会持续监控数据库变化,管理pod的生命周期,发现被分配到它所在的节点上运行的那些pod,如果找到新pod,则会在该节点上运行这个新pod。
答:不会。它使用可插拔的容器引擎(Docker、Rocket等)来实现容器创建。
答:当有数据包发送到主机上时,它将其路由到正确的pod或容器。
答:kubectl 客户端命令行工具 kube-apiserver 提供RESTful风格的统一接口 kube-scheduler 负责资源与pod的匹配 kube-controller-manager 负责管理“资源”同步 kubelet 管理pod生命周期 kube-proxy 负责k8s集群网络配置
答:为pod稳定地提供服务发现和负载均衡的能力。
答:集成了上线部署、滚动升级、创建脚本、暂停上线任务、恢复上线任务、滚动到以前某一版本等功能。
答:用于存储持久化数据,不同类型的Volume有不同的生命周期。
答:kubectl [command] [type] [name] [flags] command:get、create、describe、delete。 type:资源类型 name:资源名称 flags:命令行选项
答:kubectl cluster-info 查看集群信息 kubectl version 显示命令行和kube服务端的版本 kubectl api-versions 显示支持的api版本集合 kubectl config view 显示当前kubectl的配置信息 kubectl logs 查看pod日志 kubectl exec -t [podname] /bin/bash 以交互模式进入容器执行命令 kubectl scale 实现水平或收缩 kubectl rollout status deploy [name]部署状态变更状态检查 kubectl rollout history 部署历史 kubectl rollout undo 回滚部署到最近或者某个版本 kubectl get nodes 查看集群中的节点 kubectl get [type] [name] 查看某种类型资源 kubectl describe [type] [name] 查看特定资源实例详情 kubectl get ep 查看路由端点信息 kubectl set image deploy [deployment-name] [old-image-name]=[new-image-name] 为部署设置镜像 kubectl cordon [nodeid] 标记节点不接受调度 kubectl uncordon [nodeid] 恢复节点可以接受调度 kubectl drain [nodeid] 驱赶该节点上运行的所有容器到其他可用节点
持续更新中.......