1. 首页 > Linux教程 > 正文

Linux教程FG433-Kubernetes基础入门

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

本文档

风哥提示:

介绍Kubernetes容器编排平台的基础知识。

Part01-Kubernetes概述

1.1 Kubernetes架构

# Kubernetes核心概念
[root@k8s-master ~]# cat > /root/k8s-intro.txt << 'EOF' Kubernetes核心概念 ================= 1. 控制平面组件 - kube-apiserver: API服务器 - etcd: 键值存储 - kube-scheduler: 调度器 - kube-controller-manager: 控制器 - cloud-controller-manager: 云控制器 2. 工作节点组件 - kubelet: 节点代理 - kube-proxy: 网络代理 - container-runtime: 容器运行时 3. 核心资源 - Pod: 最小部署单元 - Service: 服务发现 - Deployment: 部署控制器 - ConfigMap: 配置管理 - Secret: 敏感信息 4. 网络模型 - 扁平网络 - Pod间直接通信 - Service负载均衡 - Ingress入口控制 EOF # 查看集群信息 [root@k8s-master ~]# kubectl cluster-info Kubernetes control plane is running at https://k8s-master:6443 CoreDNS is running at https://k8s-master:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. # 查看节点状态 [root@k8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 10d v1.28.0 k8s-node1 Ready 10d v1.28.0
k8s-node2 Ready 10d v1.28.0

# 查看节点详情
[root@k8s-master ~]# kubectl describe node k8s-master
Name: k8s-master
Roles: control-plane
Labels: beta.更多视频教程www.fgedu.net.cnkubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/arch=amd64
kubernetes.io/hostname=k8s-master
kubernetes.io/os=linux
node-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.alpha.kubernetes.io/ttl: 0
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Mon, 25 Mar 2026 00:00:00 +0800
Taints: node-role.kubernetes.io/control-plane:NoSchedule
Unschedulable: false
Lease:
HolderIdentity: k8s-master
AcquireTime:
RenewTime: Sat, 04 Apr 2026 08:00:00 +0800
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
—- —— —————– —————— —— ——-
MemoryPressure False Sat, 04 Apr 2026 08:00:00 +0800 Mon, 25 Mar 2026 00:00:00 +0800 KubeletHasSufficientMemory kubelet has sufficient memory available
DiskPressure False Sat, 04 Apr 2026 08:00:00 +0800 Mon, 25 Mar 2026 00:00:00 +0800 KubeletHasNoDiskPressure kubelet has no disk pressure
PIDPressure False Sat, 04 Apr 2026 08:00:00 +0800 Mon, 25 Mar 2026 00:00:00 +0800 KubeletHasSufficientPID kubelet has sufficient PID available
Ready True Sat, 04 Apr 2026 08:00:00 +0800 Mon, 25 Mar 2026 00:00:00 +0800 KubeletReady kubelet is posting ready status
Addresses:
学习交流加群风哥QQ113257174 InternalIP: 192.168.1.100
Hostname: k8s-master
Capacity:
cpu: 4
ephemeral-storage: 102687652Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 8234510Ki
pods: 110
Allocatable:
cpu: 4
ephemeral-storage: 94658252Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 8134510Ki
pods: 110
System Info:
Machine ID: abc123def456
System UUID: abc123-def456-789012-345678
Boot ID: abc123-def456-789012-345678
Kernel Version: 5.14.0-284.11.1.el9_2.x86_64
OS Image: Rocky Linux 9.3
Operating System: linux
Architecture: amd64
Container Runtime Version: containerd://1.7.2
Kubelet Version: v1.28.0
Kube-Proxy Version: v1.28.0
Pod CIDR: 10.244.0.0/24
Pod CIDRs: 10.244.0.0/24
Non-terminated Pods: (5 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits Age
——— —- ———— ———- ————— ————- —
kube-system etcd-k8s-master 100m (2%) 0 (0%) 100Mi (1%) 0 (0%) 10d
kube-system kube-apiserver-k8s-master 250m (6%) 0 (0%) 0 (0%) 0 (0%) 10d
kube-system kube-controller-manager-k8s-master 200m (5%) 0 (0%) 0 (0%) 0 (0%) 10d
kube-system kube-proxy-abc12 0 (0%) 0 (0%) 0 (0%) 0 (0%) 10d
kube-system kube-scheduler-k8s-master 100m (2%) 0 (0%) 0 (0%) 0 (0%) 10d
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
——– ——– ——
cpu 650m (16%) 0 (0%)
memory 100Mi (1%) 0 (0%)
ephemeral-storage 0 (0%) 0 (0%)
hugepages-1Gi 0 (0%) 0 (0%)
hugepages-2Mi 0 (0%) 0 (0%)
Events:

Part02-kubectl命令

2.1 常用命令

# 查看所有命名空间
[root@k8s-master ~]# kubectl get namespaces
NAME STATUS AGE
default Active 10d
kube-node-lease Active 10d
kube-public Active 10d
kube-system Active 10d

# 查看所有Pod
[root@k8s-master ~]# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5dd5756b68-abc12 1/1 Running 0 10d
kube-system coredns-5dd5756b68-def34 1/1 Running 0 10d
kube-system etcd-k8s-master 1/1 Running 0 10d
kube-system kube-apiserver-k8s-master 1/1 Running 0 10d
kube-system kube-controller-manager-k8s-master 1/1 Running 0 10d
kube-system kube-proxy-abc12 1/1 Running 0 10d
kube-system kube-proxy-def34 1/1 Running 0 10d
kube-system kube-proxy-ghi56 1/1 Running 0 10d
kube-system kube-scheduler-k8s-master 1/1 Running 0 10d
kube-system weave-net-abc12 2/2 Running 0 10d
kube-system weave-net-def34 2/2 Running 0 10d
kube-system weave-net-ghi56 2/2 Running 0 10d

# 查看所有服务
[root@k8s-master ~]# kubectl get svc -A
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.96.0.1 443/TCP 10d
kube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 10d

# 查看所有Deployment
[root@k8s-master ~]# kubectl get deploy -A
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
kube-system coredns 2/2 2 2 10d

# 查看组件状态
[root@k8s-master ~]# 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”:””}

# 查看API资源
[root@k8s-master ~]# kubectl api-resources | head -20
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
endpoints ep true Endpoints
events ev true Event
limitranges limits true LimitRange
namespaces ns false Namespace
nodes no false Node
persistentvolumeclaims pvc true PersistentVolumeClaim
persistentvolumes pv false PersistentVolume
pods po true Pod
podtemplates true PodTemplate
replicationcontrollers rc true ReplicationController
resourcequotas quota true ResourceQuota
secrets true Secret
serviceaccounts sa true ServiceAccount
services svc true Service
mutatingwebhookconfigurations admissionregistration.k8s.io false MutatingWebhookConfiguration
validatingwebhookconfigurations admi学习交流加群风哥微信: itpux-comssionregistration.k8s.io false ValidatingWebhookConfiguration

风哥针对Kubernetes基础建议:

  • 理解核心概念和架构
  • 熟练使用kubectl命令
  • 配置kubectl自动补全
  • 使用YAML文件管理资源
  • 定期检查集群状态

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息