美文网首页云原生
一 Kubernetes学习前期准备

一 Kubernetes学习前期准备

作者: 負笈在线 | 来源:发表于2022-03-25 13:00 被阅读0次

(一) Kubeadm方式一次安装即成功原则

1.安装及优化部分

  • 1)基本环境配置及优化

  • 2)安装Runtime

  • 3)Kubeadm&Kubelet

  • 4)高可用实现

2.集群建立部分

  • 1)Master节点初始化

  • 2)Node节点配置

  • 3)CNI插件安装

3.Addons安装

  • 1)Metrics Server

  • 2)DashBoard

4.收尾工作

  • 1)集群可用性验证

  • 2)生产必备配置

(二) 二进制一次安装即成功原则

1.安装及优化部分

  • 1)基本环境配置及优化

  • 2)安装Runtime

  • 3)K8S组件及Etcd安装

  • 4)高可用实现

2.集群建立部分

  • 1)生成集群证书

  • 2)Master节点初始化

  • 3)Node节点配置

  • 4)CNI插件安装

3.Addons安装

  • 1)Metrics Server

  • 2)DashBoard

  • 3)CoreDNS

4.收尾工作

  • 1)集群可用性验证

  • 2)生产必备配置

(三) 安装准备

1.集群网段划分

  • 1)主机节点网段
192.168.1.0/24
  • 2)Service网段
 10.96.0.0/16
  • 3)Pod网段
 10.244.0.0/16

2.集群资源配置

  • 1)Master节点
 2C4G*3
  • 2)Node节点
 2C4G*3

3.生产环境K8S版本选择及安装注意事项

  • 1)K8S版本选择
https://kubernetes.io/docs/home/
  • 2)安装环境与工具
 Workstation

 SecureCRT
  • 3)安装技巧
    CentOS 7系统安装
    虚拟机拍快照技巧

(四) K8S高可用架构解析

1.K8S基本架构及核心工作过程

K8S基本架构图

Kubernetes的核心工作过程
・资源对象:Node、Pod、Service、Replication Controller 等都可以看作一种资源对象
・操作:通过使用 kubectl 工具,执行增删改查
・存储:对象的目标状态(预设状态),保存在 etcd 中持久化储存;
・自动控制:跟踪、对比 etcd 中存储的目标状态与资源的当前状态,对差异资源纠偏,自动控制集群状态。

Kubernetes 实际是高度自动化的资源控制系统,将其管理的一切抽象为资源对象,大到服务器 Node 节点,小到服务实例 Pod。

Kubernetes 的资源控制是一种声明+引擎的理念:
・声明:对某种资源,声明他的目标状态
・自动:Kubernetes 自动化资源控制系统,会一直努力将该资源对象维持在目标状态。

Master:管理节点,集群的控制和调度
・kube-apiserver
・kube-controller-manager
・kube-scheduler
・etcd

Maste管理节点:管理整个 Kubernetes集群,接收外部命令,维护集群状态。
kube-apiserver: Kubernetes API Server集群控制的入口;资源的增删改查,持久化存储到 etcd;kubectl 直接与 API Server 交互,默认端口 6443。
kube-scheduler: 负责将 pod 资源调度到合适的 node 上。调度算法:根据 node 节点的性能、负载、数据位置等,进行调度。默认监听 10251 端口。
etcd: 一个高可用的 key-value 存储系统。作用:存储资源的状态;默认监听 2379 和 2380 端口(2379提供服务,2380用于集群节点通信)
controller-manager: 所有资源的自动化控制中心;controller manager 管理这些控制器;controller manager 是自动化的循环控制器。

Kubernetes 的核心控制守护进程,默认监听10252端口。scheduler和controller-manager都是通过apiserver从etcd中获取各种资源的状态,进行相应的调度和控制操作。

Node:工作节点,执行具体的业务容器
・kubelet
・kube-proxy

Node 节点:Master 节点,将任务调度到 Node 节点,以 docker 方式运行;当 Node 节点宕机时,Master 会自动将 Node 上的任务调度到其他 Node 上。
kubelet: 本节点Pod的生命周期管理,定期向Master上报本节点及Pod的基本信息。kubelet是在每个Node节点上运行agent;负责维护和管理所有容器:从 apiserver 接收 Pod 的创建请求,启动和停止Pod。Kubelet不会管理不是由Kubernetes创建的容器定期向Master上报信息,如操作系统、Docker/ container版本、CPU、内存、pod 运行状态等信息。
kube-proxy:集群中 Service 的通信以及负载均衡。功能:服务发现、反向代理。

  • 反向代理:支持TCP和UDP连接转发,默认基于Round Robin算法将客户端流量转发到与service对应的一组后端pod。

  • 服务发现:使用 etcd 的 watch 机制,监控集群中service和endpoint对象数据的动态变化,并且维护一个service到endpoint的映射关系。(本质是:路由关系)

  • 实现方式:存在两种实现方式,userspace 和 iptables。
    userspace:在用户空间,通过kuber-proxy实现负载均衡的代理服务,是最初的实现方案,较稳定、效率不高;
    iptables:在内核空间,是纯采用iptables来实现LB,是Kubernetes目前默认的方式;

runtime

  • 一般使用Docker/ container容器,也支持其他的容器。

2.K8S高可用架构

K8S高可用架构图

相关文章

  • 一 Kubernetes学习前期准备

    (一) Kubeadm方式一次安装即成功原则 1.安装及优化部分 1)基本环境配置及优化 2)安装Runtime ...

  • kubernetes部署

    1. 环境搭建前期准备 组件版本 Kubernetes 1.11.2 Docker 18.06.0-ce Etcd...

  • k8s安装手记

    官方文档:https://kubernetes.io/[https://kubernetes.io/] 1、前期准...

  • 前期准备(一)

    首先得攒钱买个车 想出去,而且消费不是很大的情况(尽量不选择住酒店,不去餐馆吃饭等),需要从各个方面节约,因此需要...

  • 第一篇 如何快速上手Helm

    前期准备 一个 Kubernetes 集群 如有必要,提前决定安装过程中涉及的安全配置 1、安装 Helm 关于版...

  • centOS7.2使用yum安装kubernetes

    kubernetes学习1--centOS7.2使用yum安装kubernetes. 准备3台服务器, 172.1...

  • 前期准备

    因为工作太忙,很多东西都没有时间仔细准备,所以办理完离职手续以后,没有马上出发,在家做了半个月的准备工作。...

  • 前期准备

    对于有开发能力的商家,现在,各大电商平台的开发平台已经提供成熟的API接口,供开发人员调用,可以方便的处理订单、自...

  • 前期准备

    工具篇 目标篇 一句话保证 我的理性思考

  • 前期准备

    2017-11-13 今天把未来2个月的目标定下来了,加油,今后就往这个方向走,每天必须在简书上记笔记! 2017...

网友评论

    本文标题:一 Kubernetes学习前期准备

    本文链接:https://www.haomeiwen.com/subject/qmarjrtx.html