云原生
Kubernetes基础
容器技术介绍
Docker快速入门
Containerd快速入门
K8S主要资源罗列
认识YAML
API资源对象
Kubernetes安全掌控
Kubernetes网络
Kubernetes高级调度
Kubernetes 存储
Kubernetes集群维护
Skywalking全链路监控
ConfigMap&Secret场景应用
Kubernetes基础概念及核心组件
水平自动扩容和缩容HPA
Jenkins
k8s中部署jenkins并利用master-slave模式实现CICD
Jenkins构建过程中常见问题排查与解决
Jenkins部署在k8s集群之外使用动态slave模式
Jenkins基于Helm的应用发布
Jenkins Pipeline语法
EFKStack
EFK日志平台部署管理
海量数据下的EFK架构优化升级
基于Loki的日志收集系统
Ingress
基于Kubernetes的Ingress-Nginx解决方案
Ingress-Nginx高级配置
使用 Ingress-Nginx 进行灰度(金丝雀)发布
Ingress-nginx优化配置
APM
Skywalking全链路监控
基于Helm部署Skywalking
应用接入Skywalking
服务网格
Istio
基于Istio的微服务可观察性
基于Istio的微服务Gateway实战
Kubernetes高可用集群部署
Kuberntes部署MetalLB负载均衡器
Ceph
使用cephadm部署ceph集群
使用Rook部署Ceph存储集群
openstack
glance上传镜像失败
mariadb运行不起来
创建域和项目错误_1
创建域和项目错误_2
安装计算节点
时钟源
网络创建失败
本文档使用 MrDoc 发布
-
+
首页
K8S主要资源罗列
# 1、pod K8s里最小部署单元,是整个K8s最核心的资源对象,它是一组容器的集合,可以只是单个容器,也可以多个容器。 - pod相关操作命令: | 命令 | 说明 | | ----------------------------------- | --------------- | | kubectl run podname --image=镜像 | 启动容器 | | kubectl get pods | 列出所有pod | | kubectl describe pod podname | 查看pod详细信息 | | kubectl exec -it podname -- command | 进入到pod里操作 | | kubectl delete pod podname | 删除pod | | kubectl logs podname | 查看pod日志 | # 2、Deployment 比pod更高一层及的资源对象,它提供了一种对pod的管理方式,它可以很方便地实现pod的扩容、缩容、升级、回滚。 - Deployment相关操作命令: | 命令 | 说明 | | ---------------------------------------------- | ---------------------- | | kubectl create deployment dpname --images=镜像 | 创建deployment | | kubectl get deployment | 列出所有deployment | | kubectl describe deployment dpname | 查看deployment详细信息 | | kubectl delete deployment dpname | 删除deployment | | kubectl scale deployment dpname --replicas=n | 扩容/缩容 | # 3、Service 为pod提供负载均衡、对外统一访问入口,用户访问具体pod时,不需要关心pod地址,而只需要通过这个固定的Service地址来访问 - Service相关操作命令: | 命令 | 说明 | | ------------------------------------------------------------ | ----------------------------- | | kubectl expose deployment dpname --port=service端口 --type=service类型 --target-port=pod监听端口 --name=svcname | 创建service,同时定义暴漏port | | kubectl get svc | 列出所有service | | kubectl describe svc svcname | 查看service详细信息 | | kubectl delete svc svcname | 删除service | - 扩展: ``` service 的类型: ● ClusterIP:提供一个集群内部的虚拟IP以供Pod访问(service默认类型) ● NodePort:在每个Node上打开一个端口以供外部访问,Kubernetes将会在每个Node上打开一个端口并且每个kocde的端口都是一样的,通过NodeIp:NodePort的方式Kubernetes集群外部的程序可以访问Service。 注:每个端口只能是一种服务,端口范围只能是 30000-32767。 ● LoadBalancer:通过外部的负载均衡器来访问,通常在云平台部署LoadBalancer还需要额外的费用。 ``` # 4、Label Label是一个键值对,其中键和值都由用户自定义,Label可以附加在各种资源对象上,如Node、Pod、Service、Deployment等。 一个资源对象可以定义多个Label,同一个Label也可以被添加到任意数量的资源对象上。Label可以在定义对象时定义,也可以在对象创建完后动态添加或删除。 # 5、Volume Volume是pod中能够被多个容器访问的共享目录,kubernetes中的volume和docker中的volume不一样,主要有以下几个方面: 1)kubernetes的volume定义在pod上,然后被一个pod里的多个容器挂载到具体的目录下 2)kubernetes的volume与pod生命周期相同,但与容器的生命周期没关系,当容器终止或者重启时,volume中的数据并不会丢失 3)kubernetes支持多种类型的volume,如glusterfs,ceph等先进的分布式文件系统 # 6、PV(persistent volume) PV可以理解成kubernetes集群中某个网络存储中对应的一块存储,它与volume类似,但有如下区别: 1)PV只能是网络存储,不属于任何Node,但可以在每个Node上访问到 2)PV并不是定义在pod上,而是独立于pod之外定义 3)PV目前只有几种类型:GCE Persistent Disk、NFS、RBD、iSCSCI、AWS ElasticBlockStore、GlusterFS # 7、PVC(PersistentVolumeClaim) 如果某个pod想申请某种条件的PV,首先需要定义一个PVC对象 # 8、NameSpace 当kubernetes集群中存在多租户的情况下,就需要有一种机制实现每个租户的资源隔离。而namespace的目的就是为了实现资源隔离。 - Namespace相关操作命令: | 命令 | 说明 | | ------------------------------- | ------------------------------------------------------------ | | kubectl create namespace nsname | 创建namespace | | kubectl get namespace | 列出所有namespace,default为默认命名空间,kube-system:K8s 系统⽅⾯的命名空间<br />kube-public:公开的命名空间,谁都可以访问,kube-node-lease:K8s 内部命名空间 | | kubectl -n nsname | 查看资源时指定namespace | | kubectl delete namespace nsname | 删除namespace | - 扩展: 容器技术介绍:https://blog.csdn.net/wdhlzd/article/details/120633391
阿星
2024年1月6日 15:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码