10分钟带你了解k8s基础(kubernetes基础概念总结)

简介: kubernetes基础概念总结 简介 kubernetes是由google主导开发的开源容器管理平台,提供多主机集群,容器编排,容器伸缩等功能 基础组件介绍 docker 容器运行环境的一种实现,封装底层容器 etcd etcd是kubernetes集群用来存储集群相关数据的数据仓库 maste.

kubernetes基础概念总结

简介

kubernetes是由google主导开发的开源容器管理 平台,提供多主机集群,容器编排,容器伸缩等功能

基础组件介绍

docker

容器运行环境的一种实现,封装底层容器

etcd

etcdkubernetes集群用来存储集群相关数据的数据仓库

master节点组件

master节点是主集群中的大脑,负责处理外部的api请求,分配调度任务以及管理容器的副本数等

kube-apiserver
  • kubernetes对外的服务入口,其他组件通信的纽带,服务无状态,可水平扩容
kube-scheduler
  • 负责pod的任务调度
kube-controller-manager
  • 处理node节点当机情况
  • 负责保证pod的副本数
  • 管理endpoint,连接service和pod
  • 为新namespace创建默认api token和accounts

node节点组件

node节点负责干活,执行master节点指派的相关任务

kubelet
  • 负责启动停止容器,保证容器运行。
kube-proxy
  • 负责根据service生成网络规则,生成路由规则

组件通信

架构图

![](k8s-

1

arch.png)

组件间的通信全依赖于kube-apiserver,其他组件通过http协议与kube-apiserver交互。

当使用kubectl或者直接调用kube-apiserver提供的api请求创建pod里和service时工作流程如下:

  • kube-apiserver把相关的pod和service配置存储到etcd
  • kube-schedulerkube-apiserver获取到相关pod的配置,根据集群中的资源和条件限制把pod调度到相应的node节点上
  • kube-controller-managerkube-apiserver获取到相关pod和service的配置,定期检查pod的状态,保证有用户配置的足够数量的pod副本在运行,生成service到pod的规则关系。
  • kubeletkube-apiserver获取分配到本节点的相关pod配置,在本地启动容器并定期检查返回容器状态
  • kube-proxykube-apiserver获取service到pod的规则,在本节点维护iptable或者ipvs相关路由规则

基础概念

pod

  • kubernetes的最小调度单元,一个pod中可以有多个容器,多个容器共享网络和存储卷

service

  • kubernetes抽象出来一个概念,可以理解为负载均衡器,后端接pod

cluster ip

  • service在集群中的ip,相当负载均衡器的ip

ingress

  • 对集群外部暴露集群内部service的一种方式

nodeport

  • 对集群外部暴露服务的第二种方式,跟随service配置,让集群中的node节点都监听相应的端口,可以通过node节点访问集群内部service

loadbalancer

  • 对集群外部暴露集群内部service的一种方式,一般只有在云平台才能使用

deployment

  • 封装了pod/replicaset,可以实现指定pod副本数量,滚动更新,扩容pod,一般一个应用(服务)一个deployment

statefullSet

  • 相当于有状态服务的deployment,重启后,主机名和pod的名称不会改变

daemonSet

  • 在每个node节点都需要运行的pod可以使用daemonSet

job

  • 一次性任务

cronJob

  • 类似于crontab定时执行任务

dns

  • kube-dns/coredns提供集群中的dns服务,可以解析service到cluster ip,实现服务发现

pv

  • 管理员用来提前创建好的存储空间,供用户申请使用

pvc

  • 用户用来申请存储空间

storageClass

  • 定义存储类供pvc使用,当用户通过pvc并指定storageClass请求pv时kubernetes可以根据storageClass动态创建pv

排错技巧

查看日志

查看pod日志
  • kubectl logs pod-name
查看事件
  • kubectl describe pod-name
查看docker日志
  • 通过kubectl get pod -o wide找到容器运行的node节点

  • node节点上通过docker ps -a找到出错的容器

  • docker logs container-id

查看kubelet及其他组件日志
  • journalctl -u kubelet

本文转自掘金- 10分钟带你了解k8s基础(kubernetes基础概念总结)
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
存储 Kubernetes C++
Kubernetes VS Docker Swarm:哪个容器编排工具更适合你?
当今,容器化技术已成为IT领域的热门话题,而容器编排工具是实现容器自动化部署和管理的关键。本文将比较两种主流的容器编排工具Kubernetes和Docker Swarm,并探讨它们的优缺点,以帮助你选择最适合自己的工具。
|
3月前
|
Kubernetes Cloud Native 调度
云原生技术专题 | 云原生容器编排问题盘点,总结分享年度使用Kubernetes的坑和陷阱
随着云原生的兴起,越来越多的应用选择基于Kubernetes进行部署,可以说Kubernetes 是最流行的容器编排和部署平台。它的强大功能特性,可以保障在生产中可靠地运行容器化应用程序,相关的DevOps等工具也应运而生,下面就是小编简单化了一个Kubernetes的逻辑架构图。
327 9
云原生技术专题 | 云原生容器编排问题盘点,总结分享年度使用Kubernetes的坑和陷阱
|
3月前
|
Kubernetes 调度 C++
Kubernetes vs Docker Swarm:容器编排工具的比较与选择
在当今云计算时代,容器技术的应用越来越广泛。而在众多容器编排工具中,Kubernetes和Docker Swarm是两个备受关注的竞争者。本文将深入比较这两个工具的特点、优势和劣势,帮助读者更好地选择适合自己的容器编排解决方案。
|
9天前
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
48 17
|
23天前
|
Kubernetes 安全 网络安全
搭建k8s集群kubeadm搭建Kubernetes二进制搭建Kubernetes集群
搭建k8s集群kubeadm搭建Kubernetes二进制搭建Kubernetes集群
104 0
|
25天前
|
Kubernetes API 调度
总结归纳Kubernetes | 一站式速查知识,助您轻松驾驭容器编排技术(水平扩展控制)
总结归纳Kubernetes | 一站式速查知识,助您轻松驾驭容器编排技术(水平扩展控制)
49 0
|
29天前
|
Kubernetes Cloud Native Docker
【云原生】kubeadm快速搭建K8s集群Kubernetes1.19.0
Kubernetes 是一个开源平台,用于管理容器化工作负载和服务,提供声明式配置和自动化。源自 Google 的大规模运维经验,它拥有广泛的生态支持。本文档详细介绍了 Kubernetes 集群的搭建过程,包括服务器配置、Docker 和 Kubernetes 组件的安装,以及 Master 和 Node 的部署。此外,还提到了使用 Calico 作为 CNI 网络插件,并提供了集群功能的测试步骤。
218 0
|
1月前
|
弹性计算 运维 Kubernetes
容器服务ACK常见问题之线上的K8s一直waiting如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
1月前
|
Kubernetes NoSQL Java
Kubernetes(K8s 1.27.x) 快速上手+实践,无废话纯享版
Kubernetes(K8s 1.27.x) 快速上手+实践,无废话纯享版
74 0
|
2月前
|
Kubernetes 网络协议 API
玩转Kubernetes—基础概念篇
玩转Kubernetes—基础概念篇
57 1