【问题标题】:What is an example of Infrastructure as a Code(IaC)? [closed]什么是基础架构即代码 (IaC) 的示例?
【发布时间】:2020-04-15 06:53:53
【问题描述】:

我多次遇到“IaaC”(或 IaC)这个词。当我用谷歌搜索它时,它告诉我:

基础架构即代码 (IaC) 是通过机器可读的定义文件而不是物理硬件配置或交互式配置工具来管理和配置计算机数据中心的过程。

Kubernetes 中使用的 yaml 文件可以作为 IaC 的示例吗?也许甚至 Dockerfile 也可以这样认为?如果没有,你能给我一些 IaC 的例子吗?

例如:

apiVersion: v1
kind: Service
metadata:
  name: my-nginx-svc
  labels:
    app: nginx
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: nginx
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

【问题讨论】:

    标签: infrastructure-as-code


    【解决方案1】:

    IP Ops 需要执行许多步骤来发布/更新在互联网上运行的应用程序。任务的几个例子是

    1. 配置新的虚拟机,例如使用所需的内存和规格启动 VM。

    2. 安装所需的软件和依赖项

    3. 管理和扩展基础架构。

    4. 一遍又一遍地重复我们所做的所有配置。

    基础设施即代码意味着自动执行在互联网上部署我们的应用程序所需的步骤。由于使用 docker 和 k8s,我们将部署过程自动化,因此也将其视为基础架构即代码。

    例子

    
    # define services (containers) that should be running
    services:
      mongo-database:
        image: mongo:3.2
        # what volumes to attach to this container
        volumes:
          - mongo-data:/data/db
        # what networks to attach this container
        networks:
         - raddit-network
    
      raddit-app:
        # path to Dockerfile to build an image and start a container
        build: .
        environment:
          - DATABASE_HOST=mongo-database
        ports:
          - 9292:9292
        networks:
         - raddit-network
        # start raddit-app only after mongod-database service was started
        depends_on:
          - mongo-database
    
    # define volumes to be created
    volumes:
      mongo-data:
    # define networks to be created
    networks:
      raddit-network:
    

    这个 docker compose 文件自己安装依赖项 mongo-database,它还安装主应用程序 raddit-app,并指定应用程序侦听的端口。

    来源Artemmkin / infrastructure-as-code-tutorial

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-03
      • 2022-12-06
      • 2022-01-05
      • 1970-01-01
      • 2019-08-10
      • 2019-11-06
      • 2018-04-02
      • 1970-01-01
      相关资源
      最近更新 更多