Skip to content
This repository has been archived by the owner on Jun 8, 2022. It is now read-only.

[Question]Can different workloads be selected? #149

Open
wenxinnnnn opened this issue Jul 28, 2020 · 5 comments
Open

[Question]Can different workloads be selected? #149

wenxinnnnn opened this issue Jul 28, 2020 · 5 comments
Labels
help wanted Extra attention is needed

Comments

@wenxinnnnn
Copy link

In order to meet the needs of each service of our microservices to mount the sidecar of consul-client.

I tried to develop a SidecarSetWorkload for the catalog, but I needed a differentiated choice of pod to mount the sidecar. I saw a related issue: #136, Do I have any other solutions?

apiVersion: core.oam.dev/v1alpha2
kind: Component
metadata:
  name: myService-Sidecar
spec:
  workload:
    apiVersion: core.oam.dev/v1alpha2
    kind: SidecarSetWorkload
    metadata:
      name: sonsul-client-sidecar
    spec:
      selector:
        matchLabels:
          app: myService
      containers:
       - name: consul
         image: consul:1.3.1
         args:
         - "agent"
         - "-data-dir=/consul/data"
         - "-advertise=$(PODIP)"
         - "-client=0.0.0.0"
         - "-node=activity-system-$(PODIP)"
         - "-retry-join=consul-service"
         - "-domain=cluster.local"
         - "-disable-host-node-id"
         ...
    parameters:
        ...
@wenxinnnnn wenxinnnnn added the help wanted Extra attention is needed label Jul 28, 2020
@wonderflow
Copy link
Member

@wenxinnnnn a better solution is to make sidecar as a trait, you can rely on patch trait mechanism to patch this sidecar into your workload.

@resouer
Copy link
Contributor

resouer commented Jul 29, 2020

You need to create a SidecarSet trait: https://github.com/openkruise/kruise/blob/master/docs/tutorial/sidecarset.md

@wenxinnnnn
Copy link
Author

Another option is to create a SidecarSet trait: https://github.com/openkruise/kruise/blob/master/docs/tutorial/sidecarset.md

Openkruise's SidecarSet also uses selectors to select pods, and deploy sidecars in aspects. I found that ContainerizedWorkload does not support setting different labels.

@wenxinnnnn
Copy link
Author

@wenxinnnnn a better solution is to make sidecar as a trait, you can rely on patch trait mechanism to patch this sidecar into your workload.
I got it, thanks。
I didn’t see the corresponding implementation of this patch trait in this project. Did I miss it?
Is there an example where this trait has been implemented?

@resouer
Copy link
Contributor

resouer commented Aug 11, 2020

@wenxinnnnn The patch trait PR is WIP: #134

Btw, ContainerizedWorkload will propagate its labels/annotations to Pods, see: #166. So the only thing you need to do is directly define a SidecarSet CR as a trait and select the labels of ContainerizedWorkload.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants