[Airship-discuss] Airship V2 and interaction with kubernetes

Kostiantyn Kalynovskyi kkalynovskyi at mirantis.com
Thu Sep 26 23:52:20 UTC 2019


Hello Airship team, in the light of development of Airship v2.0 , we are
now coming to the point where we need to interact with deployed kubernetes
clusters, ephemeral or target.

So far I have found 2 major options for this communication:

   - k8s/go-client library with dynamic client and RESTmapper
      - we would have to build our own wrapper over it, that would
      implement some of the kubectl functionality as well as some of kustomize
      functionality
      - with this approach, we can develop any input driver of our own,
      like golang structs, runtime.Object, []bytes, filesystem etc...
(i think it
      is quite a lot of effort)
   - use k8s/kubectl as a library:
      - encompasses both *kustomize*, via *FilenameOptions.Kustomize, *and
      default *kubectl *functionality.
      - Has limited input capabilities (I think), read from stdin, or
      directly from filesystem
      - With this approach we would not care, what resources we are dealing
      with.
      - And in the light of development of *airship document *command, we
      would have to keep those limitations in mind.
      - *airshipctl document* subcommands would have to filter, for example
      based on annotations required resources, and simply provide *root
      directory*, where kustomize starts working, the rest would be done
      for example by KubeApply.Run() function with correct
      FilenameOptions.Kustomize flag.
      - There is a con, kubectl is a cmd tool itself, and sometimes using
      it as a library maybe be complicated, (not sure about that though)


If someone has any ideas, relevant experience or advice, it would be
greatly appreciated, thank you in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.airshipit.org/pipermail/airship-discuss/attachments/20190926/eac534b6/attachment.html>


More information about the Airship-discuss mailing list