Skip to content
This repository has been archived by the owner on Jul 11, 2023. It is now read-only.

Add CNI support when iptables are unavailable (e.g. OpenShift4) #1610

Closed
jshaughn opened this issue Aug 24, 2020 · 7 comments
Closed

Add CNI support when iptables are unavailable (e.g. OpenShift4) #1610

jshaughn opened this issue Aug 24, 2020 · 7 comments
Labels
area/install Install related kind/feature-request Feature request priority/P2 P2 priority size/XL 20 days (4 weeks) stale

Comments

@jshaughn
Copy link

I've tried installing OSM 0.3 on OpenShift 4.5 and was able to get the control plane pods running. But the bookstore app pods will not start because the init-container requires iptables which are not used in OpenShift. The same issue was solved in Istio via CNI support (see this Istio issue for more).

OpenShift users will be blocked without CNI support or some sort of ecure workaround I'm not aware of.

Scope (please mark with X where applicable)

  • New Functionality [ x]
  • Install [ x]
  • SMI Traffic Access Policy [ ]
  • SMI Traffic Specs Policy [ ]
  • SMI Traffic Split Policy [ ]
  • Permissive Traffic Policy [ ]
  • Ingress [ ]
  • Egress [ ]
  • Envoy Control Plane [ ]
  • CLI Tool [ ]
  • Metrics [ ]
  • Certificate Management [ ]
  • Sidecar Injection [x]
  • Logging [ ]
  • Debugging [ ]
  • Tests [ ]
  • CI System [ ]
  • Project Release [ ]
@SanyaKochhar SanyaKochhar added the area/install Install related label Sep 16, 2020
@michelleN michelleN added this to Planned & Scoped in OSM Roadmap via automation Dec 8, 2020
@michelleN michelleN moved this from Planned & Scoped to Research & Scoping in OSM Roadmap Dec 8, 2020
@michelleN michelleN assigned michelleN and ksubrmnn and unassigned michelleN Dec 8, 2020
@michelleN
Copy link
Contributor

@ksubrmnn - What are your thoughts around this? Could you help us scope this work to see what all would be involved to support OpenShift?

@ksubrmnn ksubrmnn removed their assignment Sep 9, 2021
@davinci26
Copy link

As part of Windows Support for OSM #2082 we could use a CNI plugin.

The existing alternative (init_container) is not possible on Windows since modifying HNS policies requires the container to modify host properties as an administrator. Which leaves us with the CNI as the best way forward.

This would require some further research to address the following questions:

CNI plugin specific question

  1. How is the CNI plugin deployed on the cluster? We should consider the case of a fresh cluster and also the case where we install OSM into an existing cluster.
  2. How are binaries distributed?

CNI plugin api

How does the CNI plugin communication with OSM?

I think these are only the preliminary questions and the next step is to submit a detailed RFC to answer to these and solicit feedback from the community.

@plwhite
Copy link

plwhite commented Nov 29, 2021

I'm definitely interested in this option. For the record, the Istio answers to the above are:

  • The installation gives the option of using a DaemonSet, which appends the Istio CNI to the end of the chain.
  • The binaries are distributed by the DaemonSet, but where they ultimately come from I haven't investigated. I can believe there needs to be some configuration of CNI binary version etc., including the ability to download it from a local source (for offline operation).
  • The CNI plugin just reads the annotations from the pod, and uses those to discover what to do; in particular it reads whether the mesh is enabled, what ports are applicable etc..

Some customers have security policies that might mandate this approach (they will not accept an init container with the required network privileges). The DaemonSet approach for distribution seems almost as bad as the init container privileges question to me from a security point of view, but I'm not a security expert.

@steeling steeling added this to the vFuture milestone Feb 25, 2022
@github-actions
Copy link

Added default label size/needed. Please consider re-labeling this issue appropriately.

@github-actions
Copy link

Added default label kind/needed. Please consider re-labeling this issue appropriately.

@steeling steeling added size/XL 20 days (4 weeks) priority/P2 P2 priority kind/feature-request Feature request and removed size/needed kind/needed labels Jul 15, 2022
@trstringer trstringer removed this from the vFuture milestone Nov 14, 2022
@github-actions
Copy link

github-actions bot commented Feb 5, 2023

This issue will be closed due to a long period of inactivity. If you would like this issue to remain open then please comment or update.

@github-actions github-actions bot added the stale label Feb 5, 2023
@github-actions
Copy link

Issue closed due to inactivity.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/install Install related kind/feature-request Feature request priority/P2 P2 priority size/XL 20 days (4 weeks) stale
Projects
None yet
Development

No branches or pull requests

9 participants