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 的基本概念、常用命令和配置方法的简要介绍。针对具体的使用场景和需求,可以深入学习和定制化配置。

相关推荐
无言听风雨丶5 小时前
Kubernetes 控制平面深度剖析:从 kubectl apply 到 etcd 写入的全链路
平面·kubernetes·etcd
openFuyao6 小时前
openFuyao x 复旦大学软件工程实验室 Panel 回顾:Agentic时代,集群调度技术体系将如何演进?
kubernetes·openfuyao
螺蛳粉 螺蛳粉7 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
相思难忘成疾10 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
PellyKoo10 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
weirong11 小时前
给 K8s 加一个自动值班员:分级故障自愈引擎
kubernetes
云和数据.ChenGuang11 小时前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
阿标在干嘛11 小时前
容器编排的“场景适配”:我们为什么在部分服务中回归了Docker Compose?
运维·docker·容器
IT199515 小时前
Docker 快速部署 DM8 达梦数据库|完整踩坑笔记
笔记·docker·容器
Star(up up up)15 小时前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo