kubernetes和Jenkins的基本概念、常用命令、配置方法

目录

      • [Kubernetes 基本概念](#Kubernetes 基本概念)
      • [常用 Kubernetes 命令](#常用 Kubernetes 命令)
      • [Kubernetes 配置方法](#Kubernetes 配置方法)
      • [Jenkins 基本概念](#Jenkins 基本概念)
      • [常用 Jenkins 命令](#常用 Jenkins 命令)
      • [Jenkins 配置方法](#Jenkins 配置方法)

Kubernetes 基本概念

Kubernetes(通常简称为 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是 Kubernetes 的基本概念:

  1. Pod(容器组)

    • Pod 是 Kubernetes 最小的调度单位,可以包含一个或多个容器,共享网络命名空间和存储卷。
  2. Deployment(部署)

    • Deployment 用于定义 Pod 的副本数量、更新策略和容器模板,实现应用的部署和更新。
  3. Service(服务)

    • Service 定义了一组逻辑上相同的 Pod,通过标签选择器将请求路由到 Pod,提供负载均衡和服务发现功能。
  4. Namespace(命名空间)

    • Namespace 是 Kubernetes 中用于隔离和管理资源的虚拟集群范围的一种方式。
  5. Node(节点)

    • Node 是 Kubernetes 集群中的工作节点,可以运行 Pod。
  6. Cluster(集群)

    • Cluster 是一组物理或虚拟机器,运行 Kubernetes,用于管理容器化应用。

常用 Kubernetes 命令

  1. kubectl get

    • 查看资源列表,如 kubectl get pods, kubectl get deployments, kubectl get services 等。
  2. kubectl describe

    • 查看资源的详细信息,如 kubectl describe pod <pod-name>, kubectl describe deployment <deployment-name> 等。
  3. kubectl create / kubectl apply

    • 创建或应用资源配置文件,如 kubectl create -f deployment.yaml, kubectl apply -f service.yaml 等。
  4. kubectl delete

    • 删除资源,如 kubectl delete pod <pod-name>, kubectl delete deployment <deployment-name> 等。
  5. kubectl logs

    • 查看 Pod 的日志,如 kubectl logs <pod-name>
  6. kubectl exec

    • 在 Pod 中执行命令,如 kubectl exec -it <pod-name> -- /bin/bash

Kubernetes 配置方法

  1. 安装 Kubernetes

    • 可以使用 kubeadm、minikube 或云厂商的 Kubernetes 服务(如 AWS EKS、Google GKE、Azure AKS)来安装 Kubernetes 集群。
  2. 创建和管理资源

    • 使用 kubectl 命令或 YAML 配置文件创建和管理 Pod、Deployment、Service 等资源。
  3. 网络配置

    • 配置 Kubernetes 网络插件(如 Calico、Flannel、Cilium),以便 Pod 可以相互通信。
  4. 持久化存储

    • 配置 PersistentVolume 和 PersistentVolumeClaim,用于持久化存储应用程序数据。
  5. 监控和日志

    • 配置监控工具(如 Prometheus)和日志收集工具(如 Fluentd、ELK Stack)来监控和管理 Kubernetes 集群。

Jenkins 基本概念

Jenkins 是一个流行的开源持续集成和持续交付(CI/CD)工具,用于自动化构建、测试和部署软件。以下是 Jenkins 的基本概念:

  1. Job(任务)

    • Job 是 Jenkins 中的一个任务单元,定义了构建和部署流程。
  2. Pipeline(流水线)

    • Pipeline 是 Jenkins 中一种声明式的 CI/CD 脚本语言,用于定义复杂的构建流程和环境。
  3. Agent(代理)

    • Agent 是 Jenkins 的工作节点,负责执行构建任务。
  4. Plugin(插件)

    • Jenkins 支持丰富的插件生态系统,可以扩展其功能,如集成各种工具、构建环境和通知机制。
  5. Master(主节点)

    • Jenkins Master 是 Jenkins 控制节点,用于管理构建和调度任务。

常用 Jenkins 命令

  1. 创建 Job

    • 在 Jenkins 控制台中创建新的 Job,选择构建触发方式、源代码管理、构建步骤和后续操作。
  2. 构建 Job

    • 手动触发或定时触发 Job 构建,查看构建日志和结果。
  3. Pipeline 脚本

    • 编写 Pipeline 脚本,定义复杂的构建流程和环境。
  4. 插件管理

    • 安装、更新和管理 Jenkins 插件,扩展 Jenkins 的功能。
  5. 全局配置

    • 配置 Jenkins 全局设置,如节点、全局工具

配置、凭据等。

Jenkins 配置方法

  1. 安装 Jenkins

    • 下载并安装 Jenkins,可以通过 WAR 文件、Docker 容器或系统软件包安装。
  2. 插件安装

    • 根据需求安装必要的 Jenkins 插件,如 Git、Pipeline、Docker 等。
  3. 配置全局设置

    • 配置 Jenkins 全局设置,包括构建节点、凭据、工具路径等。
  4. 创建和管理 Job

    • 在 Jenkins 中创建 Job,配置构建触发、源代码管理、构建步骤和后续操作。
  5. 编写 Pipeline

    • 使用 Jenkins Pipeline 脚本定义复杂的构建流程,包括构建、测试和部署。
  6. 集成其他工具

    • 集成其他开发和运维工具,如 Git、SonarQube、Nexus 等,实现完整的 CI/CD 流水线。

以上是 Kubernetes 和 Jenkins 的基本概念、常用命令和配置方法的简要介绍。针对具体的使用场景和需求,可以深入学习和定制化配置。

相关推荐
lichenyang4533 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4533 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4533 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生5 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美6 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程