我多次碰到"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
发布于 2019-12-24 06:37:39
IP操作需要执行许多步骤才能发布/更新在internet上运行的应用程序。这些任务的几个例子是
启动VM。
安装所需软件的
infrastructure.的
作为代码的基础设施意味着自动化在互联网上部署应用程序所需的步骤。由于使用了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:
这个停靠组合文件本身安装依赖型mongo数据库,它还安装主应用程序raddit-app,并指定应用程序侦听的端口。
https://stackoverflow.com/questions/59464554
复制相似问题