Agent
Agent run on the node.
Features
- Forward log stream to remote
- Generate container metrics
- Bootstrap
- Auto update containers' status and publish it by core's api.
Build
build binary
make build
build rpm
./make-rpm
build image
docker build -t agent .
Develop
go get github.com/projecteru2/agent.git
cd $GOPATH/src/get github.com/projecteru2/agent
make deps
Dockerized Agent manually
docker run -d --privileged \
--name eru_agent_$HOSTNAME \
--net host \
--restart always \
-v /sys/fs/cgroup/:/sys/fs/cgroup/ \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /proc/:/hostProc/ \
-v <HOST_CONFIG_DIR_PATH>:/etc/eru \
projecteru2/agent \
/usr/bin/eru-agent
Build and Deploy by Eru itself
After we implemented bootstrap in eru2, now you can build and deploy agent with cli tool.
- Test source code and build image
<cli_execute_path> --name <image_name> https://goo.gl/3K3GHb
Make sure you can clone code by ssh protocol because libgit2 ask for it. So you need configure core with github certs. After the fresh image was named and tagged, it will be auto pushed to the remote registry which was defined in core.
- Deploy agent by eru with specific resource.
<cli_execute_path> --pod <pod_name> --entry agent --network <network_name> --image <projecteru2/agent>|<your_own_image> --count <equal_to_nodes_num> [--cpu 0.3 | --mem 1024000000] https://goo.gl/3K3GHb
Now you will find agent was started in each node, and monitor containers status include itself.