以下是一个使用Ansible和Kubernetes(k8s)的示例代码,其中包含变量的使用:
---
- name: Deploy application to Kubernetes using Ansible
hosts: localhost
gather_facts: false
vars:
app_name: myapp
image_name: myapp:v1.0
replica_count: 3
tasks:
- name: Create Kubernetes deployment
k8s:
api_version: apps/v1
kind: Deployment
namespace: default
name: "{{ app_name }}"
labels:
app: "{{ app_name }}"
replicas: "{{ replica_count }}"
spec:
selector:
matchLabels:
app: "{{ app_name }}"
template:
metadata:
labels:
app: "{{ app_name }}"
spec:
containers:
- name: "{{ app_name }}"
image: "{{ image_name }}"
ports:
- containerPort: 8080
- name: Create Kubernetes service
k8s:
api_version: v1
kind: Service
namespace: default
name: "{{ app_name }}"
labels:
app: "{{ app_name }}"
spec:
selector:
app: "{{ app_name }}"
ports:
- name: http
port: 80
targetPort: 8080
type: LoadBalancer
在上面的示例中,我们定义了三个变量:app_name
、image_name
和replica_count
。这些变量用于定义应用程序的名称、镜像名称和副本数量。
然后,我们使用k8s
模块创建了一个Kubernetes部署和一个Kubernetes服务。在Kubernetes部署中,我们使用了之前定义的变量来设置应用程序的名称、镜像名称和副本数量。在Kubernetes服务中,我们使用了应用程序的名称来设置服务的名称。
你可以根据你自己的需求修改这些变量的值,并根据你的应用程序的要求进行其他修改。然后,你可以运行这个Ansible playbook来部署你的应用程序到Kubernetes集群中。
下一篇:Ansible,默认变量