Kubernetes-01-基础概念篇 基础组件&搭建一个K8S集群

K8S重要技术内容主要涵盖:集群架构、容器化应用部署、ScaleUp/Down、滚动更新、监控检查、集群网络、数据管理、监控与日志

一、基础名词

1.Cluster

Cluster是计算、存储、网络资源的集合,利用资源运行各种基于容器的应用

2.Master

Master是Cluster的核心,负责调度、控制。
高可用版本,一般至少两个Master

3.Node

Node负责运行容器应用
由Master管理,Node负责监控和汇报容器状态
根据Master的要求管理容器的生命周期

4.Pod

Pod是K8S最小的工作单元,一个Pod会包含一个或多个容器Container
Pod中的1个或多个容器会被Master调度到一个Node上面运行

Pod的特点
1)可管理性
K8S中,Pod以最小的单元进行调度、扩展、共享资源、管理生命周期

2)通信和资源共享
同一个Pod中的容器,网络共享(拥有相同的IP和Port)、网络互通(等同于本地访问)、存储共享(等同于本地访问)

Pod的两种使用方式
1)运行单一容器
one container per pod 模式,是K8S最常见的模式,k8s通过管理Pod来管理容器

2)运行多个容器
联系十分紧密的两个容器,可以编排于同一个Pod中,他们资源和通信共享,两个容器的服务一起启动、一起停止

5.Controller 运行容器

K8S通过Controller管理Pod,Controller中定义Pod的部署特性

1)Deployment
最为常见的Pod的部署方式,可以管理多Pod副本

2)ReplicaSet
实现Pod的多副本管理,通常使用Deployment创建Pod的时候会自动创建ReplicaSet,通过ReplicaSet来管理Pod,通常不直接创建ReplicaSet

3)DaemonSet
用在一个Node只运行一个Pod副本的情况,守护进程

4)StatefulSet
能够保证Pod的每个副本在整个生命周期中的名称是不变的,不因重启而变化,其他Controller不具备这样的特点

5)Job
用于运行结束就删除的应用,其他Controller会长期运行

6.Service 访问容器

Pod间通过IP通信,但是Pod的重启都会导致IP变化,为了能够正常通信,就要依靠Service

Service定义了一组外部访问Pod的方式,Service有自己的Ip和端口,为Pod提供负载均衡

7.Namespace

Namespace可以将一个物理Cluster划分为多个虚拟Cluster,资源完全隔离

K8S默认的Namespace为

  • kube-system 存放默认系统所需资源
  • default 默认创建资源被分配的空间

二、如何搭建一个K8S集群

1.所有节点安装Docker环境

2.安装 kubelet kubeadm kubectl

在Cluster节点上,安装kubelet,负责启动Pod和容器

在Cluster节点上,安装Kubeadm,负责初始化Cluster

在所有节点上,安装kubectl,负责部署和管理应用,查看各种资源,创建、删除、更新组件

3.kubeadm 初始化Cluster

1) 初始化Master

kubeadm init --apiserver-adverties-address= --pod-network-cidr=

  1. kubeadm 执行初始化前检查
  2. 生成token和证书
  3. 生成kubeConfig配置文件,kubelet使用这个文件和Master通信
  4. 安装Master组件,下载Docker镜像
  5. 安装kube-proxy和kube-dns组件
  6. 安装kubectl
  7. 安装Pod网络环境,尝试使用Flannel作为基础网络架构
  8. 向Cluster注册节点,单独Master和Node节点,将Node注册到Master
    kubectl join --token ip:port
    token可以通过 kubeadm token list 进行查看
    kubectl get nodes 确认 Node节点加入成功

2)查看Pod具体状态

kubectl get pod --all-namespaces

Pod状态:

  • Pending 未就绪
  • ContainerCreating 未就绪
  • ImagePullBackOff 未就绪
  • Running 就绪

3)查看Pod启动具体日志

kubectl describe pod [podname]文章来源地址https://www.uudwc.com/A/9d6eO/

原文地址:https://blog.csdn.net/c_zyer/article/details/132815615

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月15日 02:05
【JAVA】idea初步使用+JDK详细配置
下一篇 2023年09月15日 02:06