1. k8s是什么?能解决什么问题?
  • k8s是容器管理平台,一套复杂的开源系统
  1. 如何更好的维护pod,k8s第二大要素(pod控制器)
  • k8s的很多对容器(pod)管理的高级特性,都是基于控制器而来
  1. 为什么要学习k8s?
  • 引入k8s是为了更好的维护容器化部署业务,跨机器的容器、容器化业务需要考虑的网络、存储、配置文件、负载均衡、高可用性等问题,都可以用k8s默认功能处理,k8s属于是前期投入有点困难,搭建起来之后,除了学习成本,是非常好用的,从市场可以得以验证
  1. k8s的核心组件有哪些(⭐️⭐️⭐️⭐️⭐️)?
组件功能描述部署位置
etcd数据库,用于存储pod的信息可以单独部署,也可部署在master
api-serverk8s所有请求的入口,k8s所有组件通信都走ssl证书,为了足够安全,你的请求是可信任,被允许,认证授权两道关卡部署在master
controller manager为了让你的pod更好的运行部署在master
scheduler调度器,决定pod调度到那台机器上部署在master
kubelet安装在目标的node节点上(拉镜像、运行容器、设置容器iptables流量转发规则)部署在master和node节点
container runtime接纳任意符合容器规范的软件,如docker软件部署在master
kube-proxyk8s的网络管理,service、ingress规则,生成iptables规则等部署在master和node节点
kubectl管理,维护k8s客户端换,和服务端交互的一个命令行工具部署在master和node节点
kubelet管理pod的工具,增删改查pod再具体机器上部署在master和node节点
flannel网络插件负责pod之间的网络通讯,也有其他的网络插件,如:calico部署在master和node节点
  1. k8s-master上运行哪些核心组件
  • etcd(非必安装在master上)、apt-server、controller manager、scheduler、kube-proxy、kubectl、kubelet、flannel、docker
  1. k8s-node上运行哪些核心组件
  • docker、kube-proxy、kubectl、kubelet、flannel
  1. pod创建流程是什么样的?
    在这里插入图片描述

  2. k8s集群安装方法

  • kubeadm初始化,下载k8s必备组件的镜像,运行pod
  • 生成k8s的证书,配置文件
  • 部署网络插件
  • k8s-node 是用kubeadm join 加入集群
  1. kubectl 命令
  • 是否指定namespace
  • 设置好bash补全:安装 bash-completion-extras
  • 增删改查pod资源:kubectl get pods -owide
  • 快速创建一个nginx-pod: kubectl run nginx-test --image=nginx:1.20
  • 修改nginx-pod的内容: kubectl exec nginx-test – sh -c “echo ‘这是一个测试页面’ > /usr/share/nginx/html/index.html”
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐