2017-08-18 2 views
0

Contexte:Comment configurer imagePullPolicy de fabric8-maven-plugin

J'utilise fabric8-maven-plugin pour générer l'image docker et le déployer sur un cluster Kubernetes.

Question:

Il est possible de configurer le imagePullPolicy paramètre dont la valeur par défaut est IfNotPresent?

configuration actuelle 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> 

Ce que je suis est:

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 

Pourquoi je veux changer la valeur toujours? Principalement parce que je fais beaucoup de tests avec le cluster, et je ne veux pas assigner une nouvelle version à l'image docker pour chaque test que je fais, à ce stade.

J'apprécie votre soutien.

Répondre

2

Enfin, je trouve le paramètre que je cherchais:

1) Ajouter dernière à l'image docker:

  <name>myservice:latest</name> 

2) Ajouter pullPolicy dans la configuration enrichisseur.

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

Exemple complet:

<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

Appréciez vos efforts pour le découvrir. ha ha .. état de la condition :) – Hrishikesh

0

Ajouter à la suite config enrichisseur pom.xml avec générateur, images.

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

Bien que cela ne soit pas idéal, mais fonctionnera pour le moment.

+0

Merci @Hrishikesh! –