zoukankan      html  css  js  c++  java
  • 白话kubernetes的十万个为什么(持续更新中...)

    Kubernetes简称?

    答:k8s或kube。

    Kubernetes是什么?

    答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序。本质上是一种特殊的数据库,里面存储的是能够组成kubernetes模型的各种资源,包括Pods、Deployments、Services、Config Maps、Secrets、Namespaces、Nodes、Service Accounts、Ingress、Jobs等等。可以参考:kubernetes实战之运行aspnetcore webapi微服务第9点部分浅析kubernetes。

    Kubernetes能干什么?

    答:容器编排引擎,管理容器的生命周期和方方面面。

    如何与Kubernetes系统进行交互?

    答:使用客户端工具kubectl,相当于kubernetes的RESTful接口,这是交互的基本模式。

    kubectl有哪些优化了用户体验的命令?

    答:kubectl scale 直接指明需要伸缩的Deployment名字即可,而不需要数据库中修改相关资源。
    kubectl run 使用某镜像创建Deployment,无需写yml文件完整的描述pod的各种细节。
    kubectl expose deploy [name] --type=NodePort --name=[name] --port=80 直接为部署暴露类型为NodePort的服务。

    在实际应用中一般如何操作资源?

    答:一把使用yml文件或json文件,配合各种kubectl命令。

    kubernetes最常用的数据库?

    答:etcd。

    什么是ReplicaSet?

    答:一个“副本集”对象,封装pod的弹性伸缩。例如:使用ReplicaSet告诉k8s集群部署pod,并始终维持5个pod实例。

    ReplicaSet的实际工作流程?

    答:ReplicaSet Controller监控数据库中的数据变化, 然后检查实际环境中ReplicaSet对象所拥有的pod实际实例数量,如果超过期望的数量,就杀掉富余的pod;如果不足,就立即创建新的pod补充。

    kubelete是什么?

    答:一种特殊的控制器,运行在集群中每个执行节点上,是集群的守护神。

    kubelete是干什么的?

    答:当第一次集群调度部署完成后,后续kubelete会持续监控数据库变化,管理pod的生命周期,发现被分配到它所在的节点上运行的那些pod,如果找到新pod,则会在该节点上运行这个新pod。

    kubenetes会直接创建容器吗?

    答:不会。它使用可插拔的容器引擎(Docker、Rocket等)来实现容器创建。

    kuberproxy的工作流程?

    答:当有数据包发送到主机上时,它将其路由到正确的pod或容器。

    kubernetes有哪些组件?

    答:kubectl 客户端命令行工具
    kube-apiserver 提供RESTful风格的统一接口
    kube-scheduler 负责资源与pod的匹配
    kube-controller-manager 负责管理“资源”同步
    kubelet 管理pod生命周期
    kube-proxy 负责k8s集群网络配置

    什么是Service?

    答:为pod稳定地提供服务发现和负载均衡的能力。

    Deployment有哪些功能?

    答:集成了上线部署、滚动升级、创建脚本、暂停上线任务、恢复上线任务、滚动到以前某一版本等功能。

    Volume是干什么的?

    答:用于存储持久化数据,不同类型的Volume有不同的生命周期。

    kubectl 命令行语法?

    答:kubectl [command] [type] [name] [flags]
    command:get、create、describe、delete。
    type:资源类型
    name:资源名称
    flags:命令行选项

    kubectl 常见的命令有哪些?

    答: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] 驱赶该节点上运行的所有容器到其他可用节点

    kubectl 如何快速分配管理员权限?

    答:

    kubectl create serviceaccount --namespace kube-system <serviceaccountname>
    kubectl create clusterrolebinding <rolebindingname> --clusterrole=cluster-admin --serviceaccount=<serviceaccountname>
    kubectl patch deploy --namespace kube-system <objectname> -p '{"spec":{"template":{"spec":{"serviceAccount":"<serviceaccountname>"}}}}'
    

    持续更新中.......

    做一个有底蕴的软件工作者
  • 相关阅读:
    从投影的角度理解pca:向量,投影,基,内积,坐标,维数,分散程度,方差,协方差矩阵,对角化,特征值分解,主成分分析PCA
    随机变量的方差variance & 随机向量的协方差矩阵covariance matrix
    对于随机变量的标准差standard deviation、样本标准差sample standard deviation、标准误差standard error的解释
    fmri当前相关软件工具整理
    NPAIRS框架的理解
    phy+
    当前,思路+进展+idea+下一步要做的工作
    dagli最早干了这样一件事儿 Localization of Cardiac-Induced Signal Change in fMRI
    zollei的心动噪声探索性识别
    第九章——中位数和顺序统计量
  • 原文地址:https://www.cnblogs.com/justmine/p/8684266.html
Copyright © 2011-2022 走看看