[K8S] k8s快速入门(1)

K8S简介

Kubernetes(通常简称为K8s,因为其中间有8个字母)是一个开源的容器编排平台,用于自动化部署扩展操作应用程序容器
它最初由Google开发,现在由Cloud Native ComputingFoundation(CNCF)维护和支持。

Kubernetes提供了一个高度可扩展的平台,用于管理容器化应用程序和服务,使开发者能够更高效地管理应用程序的生命周期。
Kubernetes是设计用来管理容器化应用程序的。容器化允许开发者将应用程序及其所有依赖项打包到一个标准化单元中,这在不同环境中具有一致性可移植性

主要概念

Pod: 是Kubernetes的最小部署单元,可以包含一个或多个紧密关联的容器。Pod共享网络和存储资源,通常用于运行一组共享上下文的应用程序。

Deployment: 用于声明式地管理Pod的创建、更新和删除。Deployment可以确保应用程序始终运行在所需状态,并支持滚动更新和回滚操作。

Service: 定义了一组Pod的访问方式和策略,通过标签选择器将请求路由到正确的Pod。Service可以实现负载均衡、服务发现和跨服务通信。

Namespace: 用于在Kubernetes集群中划分资源的虚拟化单元。它可以帮助组织和管理集群中的资源,提供了一种多租户的机制。

Node: 是Kubernetes集群中的一个工作节点,负责运行Pod和容器。每个Node都具有Kubernetes代理(kubelet)和容器运行时(如Docker或containerd)。

Cluster: 是由多个工作节点组成的Kubernetes环境,用于托管和管理容器化应用程序。

架构

Kubernetes的架构通常包括以下核心组件:

Master节点:

  • kube-apiserver: 提供Kubernetes API服务,用于管理集群状态和配置。
  • etcd:分布式键值存储,用于持久化保存集群状态和配置。
  • kube-scheduler: 负责Pod的调度,将Pod分配到合适的工作节点上。
  • kube-controller-manager: 管理控制器,监控集群中各种资源的状态,并确保所需状态。

工作(worker)节点:

  1. kubelet: 在每个节点上运行,负责与Master节点通信,管理Pod的生命周期。
  2. kube-proxy:负责为Service实现网络代理和负载均衡功能。
  3. 容器运行时(如Docker或containerd): 负责运行Pod中的容器。

关键功能和优势

1. 自动化部署和扩展:
Kubernetes允许定义应用程序的期望状态,并自动管理其部署和扩展。通过Deployment、ReplicaSet等控制器,可以实现自动水平扩展和负载均衡。

2. 服务发现和负载均衡: 
使用Service抽象,可以轻松实现服务发现和对后端Pod的负载均衡,无需手动配置网络路由。

3. 自我修复: 
Kubernetes可以自动替换失败的容器或节点,并确保应用程序的高可用性。

4. 存储编排:
支持多种存储解决方案,并通过PersistentVolume和PersistentVolumeClaim提供动态存储分配和管理。

5. 密钥和配置管理: 
支持将敏感信息和配置数据以Secret和ConfigMap的形式存储,并安全地注入到Pod中。

使用场景

Kubernetes适用于各种场景,特别是复杂的分布式应用微服务架构,可以显著简化部署、管理和扩展。它也是云原生应用开发和部署的理想选择,支持跨云和混合云环境的工作负载管理。Kubernetes作为一个强大的容器编排平台,通过其丰富的功能和灵活的架构,帮助用户有效地管理和操作容器化应用程序,提升了应用程序的可靠性可伸缩性效率

k8s快速入门之命令行

1. k8s集群搭建

参考地址:文章写的非常好,一次搭建成功!
https://blog.csdn.net/weixin_52799373/article/details/140430146?spm=1001.2014.3001.5502

2. NameSpace命名空间

NameSpace介绍 中文名称:命名空间。 你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个
Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。 可以为你提供组织,安全甚至性 能方面的帮助!

Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或 用户组。常见的pods,
services, replication controllers和deployments等都是属于某一个namespace
的(默认是default),而node, persistentVolumes等则不属于任何namespace。

大多数的Kubernet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值