vHive icon indicating copy to clipboard operation
vHive copied to clipboard

Remove the stub container

Open plamenmpetrov opened this issue 5 years ago • 3 comments

The queue-proxy container interacts directly with the user workload Firecracker-Containerd container. However, we create a stub lightweight user container still so that CRI Operations such as ContainerStatus, ListContainers do not require additional support. Once firecracker-containerd supports there call, we can decommission the stub.

plamenmpetrov avatar Nov 30 '20 13:11 plamenmpetrov

Currently, container and gVisor based sandboxes support function deployment in the same canonical format:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: fibonacci-python
  namespace: default
spec:
  template:
    spec:
      containers:
        - image: docker.io/NAME/NAME:TAG
          ports:
            - name: h2c
              containerPort: 50000

However, due to the workaround we have in Knative fork used by vHive, the format of function deployed in Firecracker needs to be different:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: fibonacci-python
  namespace: default
spec:
  template:
    spec:
      containers:        
        - image: crccheck/hello-world:latest # Stub image. See https://github.com/ease-lab/vhive/issues/68
          ports:
            - name: h2c # For GRPC support
              containerPort: 50051
          env:
            - name: GUEST_PORT # Port on which the firecracker-containerd container is accepting requests
              value: "50051"
            - name: GUEST_IMAGE # Container image to use for firecracker-containerd container
              value: "docker.io/NAME/NAME:TAG"

Please note that vSwarm benchmark YAMLs are written in the canonical format and need to be modified to be used with Firecracker (Issue)

ustiugov avatar Aug 30 '22 13:08 ustiugov