Ansible适用于Openshift部署

时间:2018-08-28 09:10:46

标签: ansible openshift

我想使用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地址。TIA

2 个答案:

答案 0 :(得分:0)

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

的方法

答案 1 :(得分:0)

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

例如:

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