用于 Openshift 部署的 Ansible



我想使用 Ansible Playbook 在 Openshift 上部署 Pod。

为此,我写了以下剧本:

- name: Create Deployment Config for the usecase
with_dict: "{{ apps }}"
openshift_v1_deployment_config:
name: "{{ item.key }}"
namespace: "{{ usecaseId }}"
labels: 
app: "{{ item.key }}"
service: "{{ item.key }}"
replicas: 1 
selector: 
app: "{{ item.key }}"
service: "{{ item.key }}"
spec_template_metadata_labels:
app: "{{ item.key }}"
service: "{{ item.key }}"
containers: 
- env:
image: "{{ openshift_registry_svc_url }}/{{ usecaseId }}/{{ item.key }}"
name: "{{ item.key }}"
ports:
- container_port: 8080
protocol: TCP 

任何知道如何使用 ansible 本身获取已部署 pod 的 IP 地址的人。蒂亚

Shagun,我认为您无法获得集群外部 pod 的 IP 地址,因为 IP 由外部世界可以连接到 pods 的 openshift SAN 管理,是通过路由、端口转发、手动为服务分配外部 IP 希望此网址有助于连接到 pod 的方法 https://docs.openshift.com/container-platform/3.5/dev_guide/expose_service/index.html

最后我找到了它. 这可以使用ansible提供的以下kubernetes模块来完成: k8s

例如:

- name: Fetch all pods which are running
set_fact:
deployments_pod: "{{ lookup('k8s', kind='Pod', namespace=test) }}"

最新更新