Kubernetes学习指北之Kubernetes kubectl

Kubernetes学习指北之Kubernetes kubectl 一、 kubectl 介绍 kubectl 是 Kubernetes 官方提供的命令行工具,用于与 Kubernetes 集群交互。 它可以管理资源对象(Pods、Deployments、Services 等)、调试问题、查看日志、扩缩容、发布更新等。 本质上,它通过 Kubernetes API 与集群通信。 组件关系示意: kubectl <---> kube-apiserver <---> etcd / kubelet / controller-manager / scheduler 二、安装与配置 1. 安装(Linux): curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl sudo mv kubectl /usr/local/bin/ kubectl version --client 2. 配置 kubeconfig 默认路径:~/.kube/config 查看当前配置: kubectl config view kubectl config current-context 切换 namespace: kubectl config set-context --current --namespace=demo 三、基础命令 1. 查看集群信息 kubectl cluster-info # 控制面信息 kubectl version # 客户端 & 服务端版本 kubectl api-resources # 列出可用资源 kubectl get namespaces # 查看命名空间 2....

May 1, 2025 · 3 min · Leanku

Kubernetes学习指北之Kubernetes YAML

Kubernetes学习指北之Kubernetes YAML 一、 Kubernetes YAML 的基本结构 Kubernetes 资源对象通常是 YAML 文件。每个 YAML 对象至少包含三个字段: apiVersion: v1 # API 版本,不同资源使用的版本不同 kind: Pod # 资源类型,如 Pod、Deployment、Service、Secret、ConfigMap metadata: # 元数据 name: my-pod namespace: default spec: # 具体配置 containers: - name: nginx image: nginx:1.25 二、常用字段详解 1. apiVersion 指定资源的 API 版本。 常见值: v1:Pod、Service、ConfigMap、Secret apps/v1:Deployment、StatefulSet、DaemonSet batch/v1:Job、CronJob 2. kind 资源类型 常见类型: Pod:最小的调度单位 Deployment:Pod 的管理控制器,可以做副本管理和滚动升级 Service:服务发现与负载均衡 ConfigMap / Secret:配置或敏感信息管理 Namespace:隔离资源的逻辑空间 3. metadata 资源的名字、标签、注解等。 常见字段: metadata: name: my-app namespace: default labels: app: my-app annotations: description: "Demo app" 4....

May 1, 2025 · 2 min · Leanku

Kubernetes学习指北之单节点集群(Master)

Kubernetes学习指北之单节点集群(Master) 一、 单节点集群(Single Node Cluster)说明 学习和开发利器,操作简单 特点 Master 节点和 Worker 节点在同一台机器上 kube-apiserver、kube-scheduler、kube-controller-manager、kubelet 都在同一台机器 Pod 也在同一台机器上运行 资源有限:所有容器共享同一台机器的 CPU、内存和存储 高可用性低:Master 节点宕机,整个集群不可用 网络简单:只需一个节点,Pod 网络配置相对简单 适用场景 学习和测试 Kubernetes 核心概念 开发环境部署微服务 练习 kubectl 命令、Deployment、Service 等 优点 配置简单,一条命令就能搭建 资源占用低,不需要多台虚拟机 部署快速,便于练手 缺点 不适合生产环境 没有高可用性 无法模拟真实多节点调度 二、 准备环境和工具 这里我使用的CentOS7 做一些初始化 # 切换 root sudo -i # 关闭防火墙(实验环境) systemctl stop firewalld systemctl disable firewalld # 关闭 selinux setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config # 关闭 swap swapoff -a sed -i '/swap/d' /etc/fstab # 调整内核参数(K8s 网络需要) cat <<EOF > /etc/sysctl....

May 1, 2025 · 9 min · Leanku

Kubernetes学习指北之多节点集群(Multi Node Cluster)

Kubernetes学习指北之多节点集群(Multi Node Cluster) 一、 多节点集群(Multi Node Cluster)说明 真实生产环境的缩影,可以模拟调度、高可用、跨节点通信 特点 Master 节点负责管理集群 多个 Worker 节点运行实际应用 Pod Master 负责调度、管理和监控 高可用性可扩展 可以增加 Worker 节点提升容量 Master 可做 HA(高可用)部署 真实调度场景 Kubernetes 会根据资源和策略,将 Pod 调度到不同节点 网络复杂 Pod 网络跨节点,需要 CNI 插件(Flannel、Calico 等)支持 适用场景 生产环境部署微服务 测试调度策略、Pod 分布、Service 负载均衡 实战演练集群管理和高可用 优点 模拟真实生产环境 可以横向扩展容器数量 Master 故障可配置高可用 缺点 配置复杂,需要多台虚拟机或服务器 网络和存储管理比单节点复杂 资源占用高 二、 准备环境和工具 这里使用centos7环境 说明 sudo -i 建议用root账号操作 每台节点都需要执行的操作,包括 master 和 worker:系统初始化、安装和配置容器运行时(containerd)、镜像源替换等操作 这里不再赘述,参照另一篇:Kubernetes学习指北之单节点集群 三、节点准备 在每台节点上安装: # 安装 kubeadm、kubelet、kubectl yum install -y kubelet kubeadm kubectl # 启动 kubelet systemctl enable --now kubelet # 关闭 swap(K8s 要求) swapoff -a sed -i '/swap/d' /etc/fstab # 配置 sysctl cat <<EOF | sudo tee /etc/sysctl....

May 1, 2025 · 3 min · Leanku

VirtualBox+Vagrant使用

VirtualBox+Vagrant使用 一、 介绍 1. VirtualBox简介 VirtualBox是一个开源的 虚拟机管理软件,由 Oracle 开发。它的核心功能是允许你在一台物理机上运行多个虚拟机,每个虚拟机都可以装不同的操作系统。 特点: 跨平台:支持 Windows、Linux、macOS 主机上安装。 支持多种客操作系统:常见的 Linux 发行版(CentOS、Ubuntu)、Windows Server、BSD 等。 虚拟化功能: 配置虚拟 CPU、内存、磁盘、网卡等。 支持桥接网络、NAT、仅主机网络等多种网络模式。 GUI + CLI 管理:既可以用图形界面管理虚拟机,也可以用命令行 VBoxManage 控制。 适合个人和开发使用:开源免费,功能较全。 2. Vagrant简介 Vagrant 是一个虚拟机 自动化管理工具,它本身不提供虚拟化功能,而是调用 VirtualBox、VMware、Hyper-V、Docker 等“虚拟化提供者”(provider)来创建和管理虚拟机。 特点: 开发环境自动化: 通过 Vagrantfile 描述一台(或多台)虚拟机的配置,比如操作系统镜像、CPU/内存、网络、共享目录等。 跨平台一致性: 不同开发者只要用相同的 Vagrantfile,就能快速得到一模一样的开发环境,避免“在我机器上没问题”。 支持多种 Provider: 默认支持 VirtualBox,也可以配合 VMware、Hyper-V、Libvirt、Docker。 Provisioning(自动化配置): 可以在虚拟机启动时自动执行脚本(Shell、Ansible、Puppet、Chef)来安装软件和配置环境。 命令行简单: vagrant init → 生成配置文件 vagrant up → 启动虚拟机 vagrant ssh → 进入虚拟机 vagrant halt → 关闭虚拟机 vagrant destroy → 删除虚拟机...

August 1, 2023 · 4 min · Leanku