2017-08-18 5 views
0

Kontext konfigurieren:Wie imagePullPolicy von fabric8-Maven-Plugin

Ich verwende fabric8-Maven-Plugin das Docker Bild zu erzeugen und es zu einem Kubernetes Cluster bereitstellen.

Frage:

Es ist möglich, die imagePullPolicy Parameter, dessen Standardwert ist IfNotPresent zu konfigurieren?

Aktuelle Konfiguration in pom.xml

<build> 
    <plugins> 
     <plugin> 
      <groupId>io.fabric8</groupId> 
      <artifactId>fabric8-maven-plugin</artifactId> 
      <version>3.5.25</version> 
      <configuration> 
       <images> 
        <image> 
         <name>my-service</name> 
         <alias>service</alias> 
         <build> 
          <from>java:8</from> 
          <tags> 
           <tag>latest</tag> 
           <tag>${project.version}</tag> 
          </tags> 
          <!-- 
          The entry point path used is "maven/" since this is the default folder: https://dmp.fabric8.io/#building-images, 
          "launch.sh" is copied to the container based in the assembly.xml descriptor file. 
          --> 
          <entryPoint> 
           <exec> 
            <arg>maven/launch.sh</arg> 
           </exec> 
          </entryPoint> 
          <assembly> 
           <descriptor>assembly.xml</descriptor> 
          </assembly> 
         </build> 
        </image> 
       </images> 
       <generator> 
        <includes> 
         <include>java-exec</include> 
        </includes> 
        <config> 
         <java-exec> 
          <webPort>8080</webPort> 
         </java-exec> 
        </config> 
       </generator> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Was ich habe ist:

spec: 
    containers: 
    - env: 
    - name: KUBERNETES_NAMESPACE 
     valueFrom: 
     fieldRef: 
      fieldPath: metadata.namespace 
    image: 394148814603.dkr.ecr.us-east-1.amazonaws.com/dkrecr-nafiux-ncp/kcluster-ncp-myservice 
    imagePullPolicy: IfNotPresent <---- I want to personalize this value to Always, for instance. 
    name: service 
    securityContext: 
     privileged: false 

Warum ich den Wert auf immer ändern möchten? Hauptsächlich, weil ich viele Tests mit dem Cluster durchführe, und ich möchte zu diesem Zeitpunkt für jeden Test, den ich mache, keine neue Version dem Docker-Image zuweisen.

Ich schätze Ihre Unterstützung.

Antwort

2

Schließlich fand ich die Parameter, die ich suchte:

1) In spätestens zum Bild Docker:

  <name>myservice:latest</name> 

2) hinzufügen pullPolicy in der enricher Konfiguration.

  <enricher> 
       <config> 
        <fmp-controller> 
         <pullPolicy>Always</pullPolicy> 
        </fmp-controller> 
       </config> 
      </enricher> 

Voll Beispiel:

<build> 
    <plugins> 
     <plugin> 
      <groupId>io.fabric8</groupId> 
      <artifactId>fabric8-maven-plugin</artifactId> 
      <version>3.5.25</version> 
      <configuration> 
       <images> 
        <image> 
         <alias>service</alias> 
         <name>myservice:latest</name> 
         <build> 
          <from>java:8</from> 
          <tags> 
           <tag>latest</tag> 
           <tag>${project.version}</tag> 
          </tags> 
          <!-- 
          The entry point path used is "maven/" since this is the default folder: https://dmp.fabric8.io/#building-images, 
          "launch.sh" is copied to the container based in the assembly.xml descriptor file. 
          --> 
          <entryPoint> 
           <exec> 
            <arg>maven/launch.sh</arg> 
           </exec> 
          </entryPoint> 
          <assembly> 
           <descriptor>assembly.xml</descriptor> 
          </assembly> 
         </build> 
        </image> 
       </images> 
       <generator> 
        <includes> 
         <include>java-exec</include> 
        </includes> 
        <config> 
         <java-exec> 
          <webPort>8080</webPort> 
         </java-exec> 
        </config> 
       </generator> 
       <enricher> 
        <config> 
         <fmp-controller> 
          <pullPolicy>Always</pullPolicy> 
         </fmp-controller> 
        </config> 
       </enricher> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+0

Schätzen Sie Ihre Bemühungen, es herauszufinden. ha ha ..Race Bedingung :) – Hrishikesh

0

In folgenden enricher config pom.xml mit Generator zusammen, Bilder.

  <configuration> 
       <enricher> 
        <config> 
         <fmp-controller> 
          <pullPolicy>Always</pullPolicy> 
         </fmp-controller> 
        </config> 
       </enricher> 
      </configuration> 

Obwohl dies nicht der ideale Weg ist, aber vorerst funktionieren wird.

+0

Danke @Hrishikesh! –