当前位置: 首页 > article >正文

k8s的学习和使用

为什么用k8s,不用docker?

k8s更适合复杂的微服务架构和大规模的容器应用。

Pods(Pod)
        Pod是k8s最小可部署单元,他包含一个或多个相关容器。这些容器共享网络命名空间和存储卷,他们通常协同工作来构成一个应用程序。
Service(服务)

        定义了一组Pod的逻辑集合,并提供一个访问这些pod的入口点。service可以通过集群内部或外部的网络访问这些pod。

Deployment(部署)

        用于定义应用程序的期望状态,去顶实际运行的pod副本数量与期望状态一直。deployment还支持滚动更新和回滚操作,一辩更新应用程序。

ConfigMap和Secret

        ConfigMap用于将配置数据从应用程序中分离处理,而Secret则用于安全存储敏感信息,如密码、api钥匙等。

Ingress(可以理解为nginx)

        用于管理和公开,k8s集群中服务的api对象。他允许外部流量进入集群、并提供路由规则来决定如何将流量路由到不同的服务。

k8s原理:
k8s集群是由一组物理或虚拟机器组成,这些机器称为节点。集群中有一个主节点和多个从节点/

主节点:主节点负责管理集群的整体状态和控制工作节点的操作,包括以下组件:
API Server:提供了k8s spi的入口,可以与k8s交互。

Controller Manager:负责监控系统状态。

Scheduler:负责将pod调度到工作节点上运行。

工作节点(Node)

工作节点是集群中的计算资源,用于运行环境。每个工作节点包括以下组件:
Kubelet:负责与主节点通信,确保在节点上运行所需的Pod。

Container Runtime:用于启动和管理容器的软件,如Docker

Kube Proxy:负责在节点上实现Service的网络代理。

k8s的使用流程:

1:定义应用程序:使用k8s的yaml文件定义应用程序的组件,包括Pods、Services、Deployments等。

2:部署应用程序:使用kubectl工具或者k8s API将定义的应用程序组件部署在集群中。

3:k8s控制器处理:控制器(如Deplyment)会接收定义并确保集群状态和定义状态一致。

4:应用程序运行:k8s会在工作节点上创建和调度Pods,确保应用程序正常运行。

5:监控和维护:使用k8s监控工具来检测集群状态,进行日志管理和故障排除。

k8s集群环境搭建

k8s安装:(两种模式)
kubeadm(测试环境,比较简单)

二进制(生产环境更推荐)


http://www.kler.cn/news/334015.html

相关文章:

  • Redis --- 第二讲 --- 特性和安装
  • CSDN 的 GIt 是没东西吗
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-04
  • 软考数据库部分 ---- (概念数据库模型,三级模式,两级映像,事物管理)
  • PostgreSQL Docker Error – 5432: 地址已被占用
  • 【nlp自然语言】知识图谱,全文检索,自然语言nlp,数据资产标签,集成管理平台
  • 如何使用ssm实现政务大厅管理系统+vue
  • 基于Word2Vec和LSTM实现微博评论情感分析
  • 运行tensorflow报错InternalError: libdevice not found at ./libdevice.10.bc解决方法
  • 墙绘艺术市场:SpringBoot技术驱动的变革
  • 【GEE数据库】WRF常用数据集总结
  • Notepad++ 之 AndroidLogger插件
  • 数据结构-4.2.串的定义和基本操作
  • Python : 类变量、静态方法、类方法
  • 【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL65
  • android compose ScrollableTabRow indicator 指示器设置宽度
  • 如何突破科技服务领域的客户管理困境?
  • [NeurIPS 2022] STaR: Bootstrapping Reasoning With Reasoning
  • 逻辑回归(下): Sigmoid 函数的发展历史
  • 【C++】多态练习题(面试常考)