繁体   English   中英

Ansible适用于Openshift部署

[英]Ansible for Openshift Deployment

我想使用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由openshift SAN管理,外部世界可以通过路由,端口转发连接到Pod,手动分配外部IP到服务希望该URL有助于连接到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) }}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM