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(测试环境,比较简单)

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

相关推荐
菜地里的小菜鸟1 天前
failed to get imageFs info: non-existent label “docker-images
k8s·failedtogetimagefsin·k8s报错
菜地里的小菜鸟3 天前
kubectl debug
k8s·kubectldebug
腾飞开源5 天前
01_K8s干货笔记之认识K8s
运维·笔记·云原生·容器·kubernetes·k8s·容器化部署
小匠石钧知7 天前
02_在多个RockyLinux10虚拟机上安装k8s集群
云原生·容器·kubernetes·k8s
ShirleyWang01213 天前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s
spider_xcxc13 天前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
ShirleyWang01213 天前
Day02 K3s NGF(Nginx Gateway Fabric)单 Worker 环境网关更新与故障处置 SOP
linux·服务器·python·k8s·k3s
ShirleyWang01213 天前
DAY01 K3s 私有化部署排障复盘与 SOP
linux·服务器·k8s·k3s·企业部署
XUHUOJUN17 天前
AKS 不是安装在 Windows Server 上,而是运行在 Windows Server 之上的 Azure 平台能力
windows·架构·k8s·azure local·azure stack
Geek-Chow17 天前
Connecting kubectl to a Private EKS Cluster Over an Internal Domain
kubernetes·k8s·aws