CompreFace Kubernetes repository contains scripts and instructions that help deploy Exadel CompreFace face recognition system in Kubernetes cluster.
This tutorial shows how to deploy CompreFace on Minikube
- (optional) create namespace and switch context
kubectl apply -f minikube/0-ns.yaml
kubectl config set-context --current --namespace=compreface
- Deploy db
kubectl apply -f minikube/1-db.yaml
- 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
- For expose to network run on host
minikube service compreface-ui
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
- Install compreface chart. It will deploy the whole CompreFace application
helm install compreface-kubernetes ./helm-config --namespace compreface --create-namespace
- Run minikube service for public access from your browser
minikube service compreface-ui -n compreface
- Delete compreface chart. It will terminate CompreFace application
helm delete compreface-kubernetes -n compreface
This tutorial shows how to install face recognition system CompreFace on AWS EKS cluster.
- 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
- Deploy application
helm install compreface-kubernetes ./helm-config --namespace compreface --create-namespace
- Delete application
helm delete compreface-kubernetes -n compreface
- Delete EKS cluster
eksctl delete cluster --name test
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
We want to improve our open-source face recognition solution, so your contributions are welcome and greatly appreciated.
- Just use CompreFace kubernetes and report ideas and bugs on GitHub
- Share knowledge and experience via posting guides and articles, or just improve our documentation
- Add other kubernetes configs and tutorials. We will add it to our documentation
- And last, but not least, you can just give a star to our facial recognition kubernetes repository
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.
Please report any bugs here.
If you are reporting a bug, please specify:
- Your operating system name and version
- kubernetes version
- CompreFace version
- Any details about your local setup that might be helpful in troubleshooting
- Detailed steps to reproduce the bug
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:
- Explain in detail how it should work.
- Keep the scope as narrow as possible to make it easier to implement.
CompreFace Kubernetes is released under the Apache 2.0 license.