2021-07-08

本文详细介绍了Kubernetes(K8s)的核心组件,包括Kube-apiserver、Etcd、Kube-Scheduler等,以及关键资源对象如Pod、Service、ReplicaSet和Deployment。还列举了Pod的各种状态和常用的Kubectl命令,帮助读者理解K8s集群的管理和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

k8s
K8s组件:
Kube-apiserver: 提供k8sAPI服务的组件
Etcd: k8s存储组件,存储了k8s集群的结构及部分数据,比如Pod的副本数量,还有Pod的当前状态和希望状态
Kube-Scheduler: master节点上的调度器,负责为Pod选择或者分配合适的node节点,可以根据调度算法将Pod绑定到指定的node上
Kubelet: 在集群每个节点上运行的代理,负责管理当前node节点上属于这个集群的容器
Kube-Contorller-manager: 运行控制器,负责对节点的Pod进行状态监控,在节点出现故障时,及时进行通知和响应与处理
kube-proxy: 一个代理,可以通过代理创建一个虚拟IP,通过这个虚拟IP与Pod进行交流
Container-Runtime: k8s集群的容器运行环境,负责在节点上运行容器的组件
DNS: k8s集群负责域名解析的组件
Dashboard: k8s里负责提供一个web界面来对k8s集群进行管理的组件

K8s的资源对象:
Pod: 负责创建、管理、可部署的、可水平扩展的、可创建副本的最小计算单元,相当于一个逻辑主机。
Service: Service是一个抽象访问层,能够将一组Pods以一定的Policy暴露出来响应服务请求,同时实现请求在多个Pods之间的负载均衡。
ReplicaSet(RS): 副本控制器,保证始终有指定数量的
Deployment: 一个Deployment就是Kubernetes中运行着的一个应用,可能由一个或多个Pods组成,其中的每个Pod就是一个应用副本,相当于一个可以拥有多个副本逻辑应用。

Pod的状态:
Pending: 等待中,挂起
Running: 运行中
Failed: 失败,异常终止
Succeeded: 正常终止
Unknown: 未知状态

K8s常用命令:
Kubectl create -f aaa.yaml 根据文件或者输入来创建资源

Kubectl delete -f aaa.yaml 根据文件删除资源
Kubectl delete 名称 根据名称删除资源

Kubectl get all/pod/node/svc/ns/rs -o wide获取资源信息

Kubectl version 打印客户端和服务端的版本信息

Kubectl logs pod -c 容器名称 在一个pod中打印一 个容器的日志

Kubectl exec -it(后台运行) Pod 进入容器进行交互

Kubectl attach pod -c 容器名称 连接到一个正在运行的容器

Kubectl cp 拷贝文件或者目录到pod容器里面,用于pod和外部文件交换

Kubectl run nginx –replicas(副本)=3 –-libels(标签)=”app=nginx” –image(镜像)=nginx:1.10 –-port(端口)=80
在集群中创建并运行一个或者多个容器镜像

Kubectl set resources 资源类型 容器名称 -c =资源名称 设置资源范围限制

Kubectl set selector 设置资源选择器
kubectl set image 更新现有资源的容器镜像
Kubectl explain rs 显示资源文档信息
Kubectl top pod 查看资源占用
Kubectl cluster-info 查看集群信息
Kubectl cordon node 标记节点不可调度
Kubectl uncordon 标记节点可以调度
Kubectl drain 用于维护期间排除节点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值