exadel-inc / compreface-kubernetes

Exadel CompreFace Kubernetes configurations
https://exadel.com/solutions/compreface/
Apache License 2.0
8 stars 8 forks source link
compreface docker face-detection face-recognition face-verification hacktoberfest kubernetes kubernetes-configs

CompreFace-kubernetes

CompreFace Kubernetes repository contains scripts and instructions that help deploy Exadel CompreFace face recognition system in Kubernetes cluster.

Deployment on Minikube

This tutorial shows how to deploy CompreFace on Minikube

  1. (optional) create namespace and switch context
    kubectl apply -f minikube/0-ns.yaml
kubectl config set-context --current --namespace=compreface
  1. Deploy db

    kubectl apply -f minikube/1-db.yaml
  2. Deploy CompreFace modules

    kubectl apply -f minikube/2-core.yaml -f minikube/3-api.yaml -f minikube/4-admin.yaml -f minikube/5-fe.yaml
  3. For expose to network run on host

    minikube service compreface-ui

Helm Chart

This tutorial shows how to deploy CompreFace using Helm. To use helm you need to install it first, see the instructions here

All necessary templates and values.yaml for helm chart you can find in the helm-config folder

  1. Install compreface chart. It will deploy the whole CompreFace application

    helm install compreface-kubernetes ./helm-config --namespace compreface --create-namespace
  2. Run minikube service for public access from your browser

    minikube service compreface-ui -n compreface
  3. Delete compreface chart. It will terminate CompreFace application

    helm delete compreface-kubernetes -n compreface

    Deployment on AWS

    This tutorial shows how to install face recognition system CompreFace on AWS EKS cluster.

  4. Create EKS cluster (replace subnets from given aws account)

    eksctl create cluster --name test --version 1.21 --region eu-west-1 --nodegroup-name standard-node --node-type t2.large --nodes 1 --nodes-min 1 --nodes-max 1 --managed --vpc-public-subnets subnet-4aee0001,subnet-73207829,subnet-fee6f998
  5. Deploy application

    helm install compreface-kubernetes ./helm-config --namespace compreface --create-namespace
  6. Delete application

    helm delete compreface-kubernetes -n compreface
  7. Delete EKS cluster

    eksctl delete cluster --name test

    CloudFormation

    CompreFace yaml file can be used for deploying CompreFace solution based on predefined AMIs image with CompreFace application inside In current template ImageId: ami-0d3846ebc1bd6748e (us-east-1). It contains CompreFace release 0.6.0

To create stack you need to pass the KeyPair parameter of existing SSH key. Stack will create separate VPC, subnet, route table, security group, EC2 instance with running CompreFace application on 8000 port.

aws cloudformation create-stack --stack-name myteststack --template-body file://CompreFace.yml --parameters ParameterKey=KeyName,ParameterValue=IharB

In the outputs section of stack you will see public ip of CompreFace application.

To delete stack and all recently created resources:

aws cloudformation delete-stack --stack-name myteststack

Contributing

We want to improve our open-source face recognition solution, so your contributions are welcome and greatly appreciated.

After creating your first contributing pull request, you will receive a request to sign our Contributor License Agreement by commenting your pull request with a special message.

Report Bugs

Please report any bugs here.

If you are reporting a bug, please specify:

Submit Feedback

The best way to send us feedback is to file an issue at https://github.com/exadel-inc/compreface-kubernetes/issues.

If you are proposing a feature, please:

License info

CompreFace Kubernetes is released under the Apache 2.0 license.