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

K8s基础一

Kubernetes 架构
Kubernetes 背后的架构概念。
Kubernetes 集群由一个控制平面和一组用于运行容器化应用的工作机器组成, 这些工作机器称作节点(Node)。每个集群至少需要一个工作节点来运行 Pod。

工作节点托管着组成应用负载的 Pod。控制平面管理集群中的工作节点和 Pod。 在生产环境中,控制平面通常跨多台计算机运行,而一个集群通常运行多个节点,以提供容错和高可用。

本文概述了构建一个完整且可运行的 Kubernetes 集群所需的各种组件。
在这里插入图片描述

运行该命令后,输出通常包含以下列:
NAME:节点的名称
STATUS:节点的状态(如 Ready 或 NotReady)
ROLES:节点的角色(如 control-plane 或 worker)
AGE:节点加入集群的时间
VERSION:节点上 kubelet 的版本

student@vms21:~$ kubectl get nodes // 查看集群节点
NAME            STATUS     ROLES           AGE      VERSION
vms21.rhce.cc   Ready      control-plane   2y203d   v1.32.1
vms22.rhce.cc   NotReady   <none>          2y203d   v1.32.1
student@vms21:~$ 

kubectl describe nodes
更详细的节点信息,可以使用 kubectl describe nodes 命令。

student@vms21:~$ kubectl describe nodes //查看更详细集群节点
Name:               vms21.rhce.cc
Roles:              control-plane
Labels:             beta.kubernetes.io/arch=amd64beta.kubernetes.io/os=linuxkubernetes.io/arch=amd64kubernetes.io/hostname=vms21.rhce.cckubernetes.io/os=linuxnode-role.kubernetes.io/control-plane=node.kubernetes.io/exclude-from-external-load-balancers=
Annotations:        kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.sock

查看某个Node节点的详细信息

Node的基本信息:名称、标签、创建时间等。
Node当前的运行状态:Node启动后会做一系列自检工作,比如磁盘空间是否不足(DiskPressure)、内存是否不足(MemoryPressure)、网络是否正常(NetworkUnavailable)、PID资源是否充足(PIDPressure)。在一切正常时才设置Node为Ready状态(Ready=True),表示Node处于健康状态,Master就可以在其上调度新的任务了(如启动Pod)。
Node的主机地址与主机名。
Node上的资源数量:描述Node可用的系统资源,包括CPU、内存数量、最大可调度Pod数量等。
Node可分配的资源量:描述Node当前可用于分配的资源量。
主机系统信息:包括主机ID、系统UUID、Linux Kernel版本号、操作系统类型与版本、Docker版本号、kubelet与kube-proxy的版本号等。
当前运行的Pod列表概要信息。
已分配的资源使用概要信息,例如资源申请的最小、最大允许使用量占系统总量的百分比。
Node相关的Event信息。

student@vms21:~$ kubectl describe nodes vms21.rhce.cc 
Name:               vms21.rhce.cc
Roles:              control-plane
Labels:             beta.kubernetes.io/arch=amd64beta.kubernetes.io/os=linuxkubernetes.io/arch=amd64kubernetes.io/hostname=vms21.rhce.cckubernetes.io/os=linuxnode-role.kubernetes.io/control-plane=node.kubernetes.io/exclude-from-external-load-balancers=
Annotations:        kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.socknode.alpha.kubernetes.io/ttl: 0projectcalico.org/IPv4Address: 192.168.26.21/24projectcalico.org/IPv4IPIPTunnelAddr: 10.244.43.192volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Sat, 12 Nov 2022 11:12:11 +0800
Taints:             node-role.kubernetes.io/control-plane:NoSchedule
Unschedulable:      false
Lease:HolderIdentity:  vms21.rhce.ccAcquireTime:     <unset>RenewTime:       Tue, 03 Jun 2025 09:19:50 +0800
Conditions:Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message----                 ------  -----------------                 ------------------                ------                       -------NetworkUnavailable   False   Tue, 03 Jun 2025 08:17:18 +0800   Tue, 03 Jun 2025 08:17:18 +0800   CalicoIsUp                   Calico is running on this nodeMemoryPressure       False   Tue, 03 Jun 2025 09:19:47 +0800   Sun, 24 Mar 2024 08:36:54 +0800   KubeletHasSufficientMemory   kubelet has sufficient memory availableDiskPressure         False   Tue, 03 Jun 2025 09:19:47 +0800   Sun, 24 Mar 2024 08:36:54 +0800   KubeletHasNoDiskPressure     kubelet has no disk pressurePIDPressure          False   Tue, 03 Jun 2025 09:19:47 +0800   Sun, 24 Mar 2024 08:36:54 +0800   KubeletHasSufficientPID      kubelet has sufficient PID availableReady                True    Tue, 03 Jun 2025 09:19:47 +0800   Sat, 01 Jun 2024 23:00:41 +0800   KubeletReady                 kubelet is posting ready status
Addresses:InternalIP:  192.168.26.21Hostname:    vms21.rhce.cc
Capacity:cpu:                2ephemeral-storage:  101633008Kihugepages-1Gi:      0hugepages-2Mi:      0memory:             3982424Kipods:               110
Allocatable:

查看default命名空间下的pod,不指定命名空间查询时就是查的default命名空间下的

student@vms21:~$ kubectl  get pod
NAME                                 READY   STATUS    RESTARTS   AGE
synergy-leverager-59c54694c9-7d7f4   0/1     Pending   0          60m
web-dep-5c7bf8cb6-rzztd              0/1     Pending   0          60m
student@vms21:~$ 

查看kube-system命名空间下的pod

student@vms21:~$ kubectl  get pod -n kube-system 
NAME                                       READY   STATUS        RESTARTS         AGE
calico-kube-controllers-8688f858d6-28547   0/1     Pending       0                62m
calico-kube-controllers-8688f858d6-z7mhj   1/1     Terminating   13 (2d15h ago)   86d
calico-node-mlzk2                          1/1     Running       16 (2d15h ago)   436d
calico-node-q2xb6                          0/1     Running       15 (67m ago)     436d
coredns-6766b7b6bb-8zdgt                   1/1     Terminating   10 (2d15h ago)   86d
coredns-6766b7b6bb-vmr7n                   1/1     Running       9 (67m ago)      86d
coredns-6766b7b6bb-xfq28                   1/1     Running       0                62m
etcd-vms21.rhce.cc                         1/1     Running       10 (67m ago)     86d
kube-apiserver-vms21.rhce.cc               1/1     Running       12 (67m ago)     86d
kube-controller-manager-vms21.rhce.cc      1/1     Running       10 (67m ago)     86d
kube-proxy-jlqh5                           1/1     Running       9 (67m ago)      86d
kube-proxy-xhbsx                           1/1     Running       11 (2d15h ago)   86d
kube-scheduler-vms21.rhce.cc               1/1     Running       11 (67m ago)     86d
metrics-server-589b9d98f6-mkg4h            1/1     Terminating   10 (2d15h ago)   86d
metrics-server-589b9d98f6-nmgft            0/1     Pending       0                62m
student@vms21:~$ 

ReplicaSet

简称rs,是deploy与pod的关联者。
pod的命名也是以deploy对应的rs对象名称为前缀的,可以很清晰地表明了一个rs对象创建了哪些Pod,经常在滚动升级时运维故障排查。

student@vms21:~$ kubectl get  rs
NAME                           DESIRED   CURRENT   READY   AGE
synergy-leverager-59c54694c9   1         1         0       78d
web-dep-5c7bf8cb6              1         1         0       86d
student@vms21:~$ 

相关文章:

  • 云服务器部署Gin+gorm 项目 demo
  • k8s更新证书
  • ElasticSearch+Gin+Gorm简单示例
  • CSS基础2
  • 03.搭建K8S集群
  • K8S上使用helm部署 Prometheus + Grafana
  • 不动产登记区块链系统(Vue3 + Go + Gin + Hyperledger Fabric)
  • [P2P]并发模式
  • 可重复读和读提交是如何工作的?
  • iOS 电子书听书功能的实现
  • Java基础(二):八种基本数据类型详解
  • 光伏功率预测新突破:TCN-ECANet-GRU混合模型详解与复现
  • Ⅲ-3.计算机二级选择题(三大结构之循环结构)
  • docker创建postgreSql带多个init的sql
  • 如何生成和制作PDF文件
  • 预览pdf(url格式和blob格式)
  • PDF.js无法显示数字签名
  • Leetcode-7 寻找用户推荐人
  • Electron桌面应用下,在拍照、展示pdf等模块时,容易导致应用白屏
  • 推荐一款PDF压缩的工具
  • 怎么做购物车网站/百度品牌广告
  • 贵阳网站建设电话/输入关键词搜索
  • 织梦做网站要多长时间/百度知道合伙人答题兼职入口
  • 网站建设报价表格/东莞百度搜索网站排名
  • 长沙市建设网站平台的公司/今日国际新闻头条15条
  • 网站产品页面设计/网站开发公司