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

01 基本介绍及Pod基础

01 查看各种资源

01-1 查看K8s集群的内置资源

[root@master01 ~]# kubectl api-resources 
NAME                              SHORTNAMES   APIVERSION                             NAMESPACED   KIND
bindings                                       v1                                     true         Binding
componentstatuses                 cs           v1                                     false        ComponentStatus
configmaps                        cm           v1                                     true         ConfigMap
endpoints                         ep           v1                                     true         Endpoints

image-20250520131331412

图1 查看K8s内置资源

01-2 查看具体的资源

# 使用全程查看资源
[root@master01 ~]# kubectl get componentstatuses 
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE                         ERROR
controller-manager   Healthy   ok                              
scheduler            Healthy   ok                              
etcd-0               Healthy   {"health":"true","reason":""}

image-20250520131532774

图2 使用全称查看资源
# 也可以使用简称查看资源
# 查看简称可以使用kubectl api-resources命令查看,里面的SHORTNAMES是简称
[root@master01 ~]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE                         ERROR
controller-manager   Healthy   ok                              
scheduler            Healthy   ok                              
etcd-0               Healthy   {"health":"true","reason":""}

image-20250520131640204

图3 使用简称查看资源

02 资源清单

02-1 资源清单结构

# apiVersion: 声明资源API的版本号。
# kind:声明资源的类型。
# metadata:声明资源你的元数据信息。这个元数据信息包括但不限于名称,标签,名称空间,资源注解,资源的创建时间等。
# spec:声明资源的期望状态,用户希望资源如何运行,比如Pod资源我们要考虑启动容器名称,容器使用的镜像,启动命令,暴露端口,环境变量,资源限制等。
# status:资源的状态,一般情况下,不需要维护该字段,是K8S集群内部自行维护。
# 举例,查看node01节点的node资源的资源清单
# 里面就是这五种结构
[root@master01 ~]# kubectl get nodes node01 -o yaml
apiVersion: v1
kind: Node
metadata:annotations:flannel.alpha.coreos.com/backend-data: '{"VNI":1,"VtepMAC":"ba:64:c7:34:04:3d"}'flannel.alpha.coreos.com/backend-type: vxlanflannel.alpha.coreos.com/kube-subnet-manager: "true"flannel.alpha.coreos.com/public-ip: 172.2.25.52kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.socknode.alpha.kubernetes.io/ttl: "0"volumes.kubernetes.io/controller-managed-attach-detach: "true"creationTimestamp: "2025-05-20T01:18:22Z"labels:beta.kubernetes.io/arch: amd64beta.kubernetes.io/os: linuxkubernetes.io/arch: amd64kubernetes.io/hostname: node01kubernetes.io/os: linuxname: node01resourceVersion: "16552"uid: 28bd4f86-dbf2-48e0-ba4b-8219dc2e14dd
spec:podCIDR: 172.22.2.0/24podCIDRs:- 172.22.2.0/24
status:addresses:- address: 172.2.25.52type: InternalIP- address: node01type: Hostnameallocatable:cpu: "2"ephemeral-storage: "139085221249"hugepages-1Gi: "0"hugepages-2Mi: "0"memory: 3758896Kipods: "110"capacity:cpu: "2"ephemeral-storage: 150917124Kihugepages-1Gi: "0"hugepages-2Mi: "0"memory: 3861296Kipods: "110"conditions:- lastHeartbeatTime: "2025-05-20T01:19:47Z"lastTransitionTime: "2025-05-20T01:19:47Z"message: Flannel is running on this nodereason: FlannelIsUpstatus: "False"type: NetworkUnavailable- lastHeartbeatTime: "2025-05-20T05:24:08Z"lastTransitionTime: "2025-05-20T01:18:22Z"message: kubelet has sufficient memory availablereason: KubeletHasSufficientMemorystatus: "False"type: MemoryPressure- lastHeartbeatTime: "2025-05-20T05:24:08Z"lastTransitionTime: "2025-05-20T01:18:22Z"message: kubelet has no disk pressurereason: KubeletHasNoDiskPressurestatus: "False"type: DiskPressure- lastHeartbeatTime: "2025-05-20T05:24:08Z"lastTransitionTime: "2025-05-20T01:18:22Z"message: kubelet has sufficient PID availablereason: KubeletHasSufficientPIDstatus: "False"type: PIDPressure- lastHeartbeatTime: "2025-05-20T05:24:08Z"lastTransitionTime: "2025-05-20T01:19:54Z"message: kubelet is posting ready statusreason: KubeletReadystatus: "True"type: ReadydaemonEndpoints:kubeletEndpoint:Port: 10250images:- names:- harbor.likexy.com/likexy/registry.aliyuncs.com/google_containers/kube-proxy@sha256:6eebf5374c8529ec87d29cc9348cc29989f42a2fc0ef1d7a31a6f3f45ba6e185- harbor.likexy.com/likexy/registry.aliyuncs.com/google_containers/kube-proxy:v1.23.17- registry.aliyuncs.com/google_containers/kube-proxy:v1.23.17sizeBytes: 110840983- names:- harbor.likexy.com/likexy/flannel/flannel@sha256:f112dc48764d57eea8b4b04dc590779f04f77136e9f4b7e4eeefd32c6b547f73- flannel/flannel:v0.24.3- harbor.likexy.com/likexy/flannel/flannel:v0.24.3sizeBytes: 78604653- names:- harbor.likexy.com/likexy/flannel/flannel@sha256:5a39542e1f7746f523e459e440514614964db215b454d12ea7d713e0fa50a26f- flannel/flannel:v0.25.6- harbor.likexy.com/likexy/flannel/flannel:v0.25.6sizeBytes: 75116393- names:- harbor.likexy.com/likexy/registry.aliyuncs.com/google_containers/coredns@sha256:8916c89e1538ea3941b58847e448a2c6d940c01b8e716b20423d2d8b189d3972- harbor.likexy.com/likexy/registry.aliyuncs.com/google_containers/coredns:v1.8.6- registry.aliyuncs.com/google_containers/coredns:v1.8.6sizeBytes: 46829283- names:- harbor.likexy.com/likexy/flannel/flannel-cni-plugin@sha256:a2e795c6d83e6db30637cad3cf7482eee41c0e2d1a58e53239b82c2442730001- flannel/flannel-cni-plugin:v1.5.1-flannel2- harbor.likexy.com/likexy/flannel/flannel-cni-plugin:v1.5.1-flannel2sizeBytes: 10632098- names:- harbor.likexy.com/likexy/flannel/flannel-cni-plugin@sha256:4163363bea19dee4ec4200b5bb9a20fa7dc460403d37800eac0a201f59faac5e- flannel/flannel-cni-plugin:v1.4.0-flannel1- harbor.likexy.com/likexy/flannel/flannel-cni-plugin:v1.4.0-flannel1sizeBytes: 9868473- names:- harbor.likexy.com/likexy/registry.aliyuncs.com/google_containers/pause@sha256:74bf6fc6be13c4ec53a86a5acf9fdbc6787b176db0693659ad6ac89f115e182c- harbor.likexy.com/likexy/registry.aliyuncs.com/google_containers/pause:3.6- registry.aliyuncs.com/google_containers/pause:3.6sizeBytes: 682696nodeInfo:architecture: amd64bootID: fae0a0e3-037b-4a9c-a574-afd1914e5cd8containerRuntimeVersion: docker://20.10.24kernelVersion: 3.10.0-1160.el7.x86_64kubeProxyVersion: v1.23.17kubeletVersion: v1.23.17machineID: 6fdc18189448460d883a97826be9e74doperatingSystem: linuxosImage: CentOS Linux 7 (Core)systemUUID: 1CC24D56-C740-5429-D505-DCA720499290

02-2 K8s资源的增删改查

02-2.1 创建资源

# 也可以使用 kubectl create -f 01-pod.yaml 
[root@master01 yaml]# kubectl apply -f 01-pod.yaml 
pod/likexy created

image-20250520141010272

图4 根据yaml文件创建资源

02-2.2 删除资源

[root@master01 yaml]# kubectl delete -f 01-pod.yaml 
pod "likexy" deleted

image-20250520141246171

图5 根据yaml文件删除
# 使用命令删除
[root@master01 yaml]# vim 02-network.yaml 
[root@master01 yaml]# kubectl delete pod likeixy 

image-20250520162110974

图6 使用命令删除

02-2.3 修改资源

# 1.在生产环境中,一般修改的场景是比较少的,有些字段在运行中甚至不支持修改的,如果想要修改通常做法是删除后修改并重新创建。
# 2.如果你真的想要修改也是可以的,只不过仅有部分字段支持修改,后面会说明。
# 注意,在Yaml文件中修改内容之后创建资源不会删除原来的资源,而是会重新创建一个Pod

image-20250520152851448

图7 修改Yaml后重新创建资源

02-2.4 查看资源

[root@master01 yaml]# kubectl get pods
NAME      READY   STATUS    RESTARTS   AGE
likexy    1/1     Running   0          12m
likexy1   1/1     Running   0          11m
[root@master01 yaml]# kubectl get pods -o wide
NAME      READY   STATUS    RESTARTS   AGE   IP           NODE     NOMINATED NODE   READINESS GATES
likexy    1/1     Running   0          12m   172.22.4.3   node03   <none>           <none>
likexy1   1/1     Running   0          11m   172.22.2.3   node01   <none>           <none>

image-20250520153212965

图8 查看Pod资源和其详细信息

image-20250520153344987

图9 使用Curl测试,可以测试出内容

03 K8s使用宿主机网络

image-20250520160058354

图10 创建Pod,网络选用宿主机网络

image-20250520160223328

图11 Curl宿主机IP是能够成功访问的

相关文章:

  • Linux服务器配置深度学习环境(Pytorch+Anaconda极简版)
  • HarmonyOS5云服务技术分享--自有账号对接AGC认证
  • Neon数据库:让Postgres更智能的选择!
  • 新兴技术与安全挑战
  • 分布式序列生成方案 : Redis Incr | 基于Redisson创建自增获取序号,每天更换一个key, key到期时间1天,用于创建订单号、快递单号
  • 《安徽日报》聚焦珈和科技AI创新:智慧虫情测报护航夏粮提质丰产
  • Visual Studio 2022 无法编译.NET 9 项目的原因和解决方法
  • HCIP实验五
  • MD编辑器推荐【Obsidian】含下载安装和实用教程
  • anaconda、miniconda、conda的关系及miniconda安装
  • 使用SQLite Studio导出/导入SQL修复损坏的数据库
  • 【笔记】与PyCharm官方沟通解决开发环境问题
  • 【Java的批量操作】
  • 一洽小程序接入说明
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的社群构建与新型消费迎合策略研究
  • NVM 安装与配置指南
  • 亿级核心表如何优雅扩展字段
  • 【QT】类A接收TCP数据并通过信号通知类B解析
  • 运行在华为云kubernetes应用接入APM服务
  • [Java实战] Docker 快速启动 Sentinel 控制台(二十八)
  • 小马智行一季度营收增12%:Robotaxi收入增长两倍,预计车队规模年底到千台
  • 管教打骂9岁儿子致其死亡,青岛一男子被刑拘
  • 上海黄浦:新婚夫妻来登记可“摇号”定制无人机表演,每周三对
  • 上海普陀:探索1岁以下托育服务的保育内容、人员配备等关键要素
  • 欧阳娜娜等20多名艺人被台当局列入重要查核对象,国台办回应
  • 美俄亥俄州北部发生火车撞人事故,致2人死亡、至少1人失踪