【自学笔记】DevOps基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


DevOps基础知识点总览

1. DevOps简介

DevOps(Development and Operations)是一种将开发和运维团队紧密结合在一起的方法,旨在提高软件交付的速度和质量,同时确保系统的稳定性和安全性。

2. 持续集成/持续部署 (CI/CD)

  • 持续集成 (CI): 频繁地将代码集成到主干中,并进行自动化构建和测试。
  • 持续部署 (CD): 在通过所有测试后,自动将代码部署到生产环境。

代码块示例:Jenkinsfile(用于CI/CD流水线)

groovy 复制代码
pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                // 假设你使用的是Maven进行构建
                sh 'mvn clean install'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                // 运行单元测试
                sh 'mvn test'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying...'
                // 部署步骤,例如使用SSH连接到服务器并部署
                sh 'scp target/your-app.jar user@server:/path/to/deploy/'
                // 执行一些远程命令来启动应用
                sshagent(['your-ssh-key']) {
                    sh 'ssh -o StrictHostKeyChecking=no user@server "java -jar /path/to/deploy/your-app.jar"'
                }
            }
        }
    }
}

3. 容器化技术 (Containers)

  • Docker: 一种开源平台,用于开发、分发和运行应用程序。
  • Kubernetes (K8s): 一个开源的容器编排和管理平台。

代码块示例:Dockerfile(用于构建Docker镜像)

Dockerfile 复制代码
# 使用官方的OpenJDK作为基础镜像
FROM openjdk:11-jre-slim

# 设置工作目录
WORKDIR /app

# 将当前目录下的jar包复制到容器的/app目录下
COPY target/your-app.jar .

# 暴露应用的端口
EXPOSE 8080

# 运行应用
ENTRYPOINT ["java", "-jar", "your-app.jar"]

4. 基础设施即代码 (Infrastructure as Code, IaC)

  • AWS CloudFormation: AWS提供的用于建模和设置AWS资源的声明性模板。
  • Terraform: 一种开源的基础设施即代码工具,支持多个云服务提供商。

代码块示例:Terraform配置(用于创建AWS EC2实例)

hcl 复制代码
provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0abcdef1234567890" # 替换为你的AMI ID
  instance_type = "t2.micro"
  tags = {
    Name = "example"
  }
}

5. 监控和日志

  • Prometheus: 一个开源系统监控和警报工具包。
  • ELK Stack (Elasticsearch, Logstash, Kibana): 用于日志收集、存储和分析的开源解决方案。

代码块示例:Prometheus配置文件(Prometheus.yml)

yaml 复制代码
global:
  scrape_interval: 15s  # 全局抓取间隔

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,自学记录DevOps基础知识点总览。

相关推荐
少妇的美梦15 小时前
logstash教程
运维
chen94515 小时前
k8s集群部署vector日志采集器
运维
chen94516 小时前
aws ec2部署harbor,使用s3存储
运维
_落纸20 小时前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记
東雪蓮☆21 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_2642208921 小时前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
Alice-YUE21 小时前
【CSS学习笔记3】css特性
前端·css·笔记·html
2303_Alpha21 小时前
SpringBoot
笔记·学习
乌萨奇也要立志学C++21 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy21 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡