Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add NATS Streaming stack for ARM #322

Closed
rgee0 opened this issue Oct 21, 2017 · 11 comments
Closed

Add NATS Streaming stack for ARM #322

rgee0 opened this issue Oct 21, 2017 · 11 comments

Comments

@rgee0
Copy link
Contributor

rgee0 commented Oct 21, 2017

Expected Behaviour

Create ARM equivalents of docker-compose.extended.yml

Current Behaviour

Currently docker-compose.extended.yml is aimed at x86_64.

Possible Solution

Create armhf and arm64 equivalents of docker-compose.extended.yml.
n.b. Full arm64 support is currently WIP so depending upon timings it may make sense to create the armhf equivalent initially.

Once #321 is merged the consolidated deployment script will need amending to enable deployment of extended on arm.

Context

Addressing inconsistencies across hw platforms to simplify deployment and provide a more uniform user experience.

@rgee0
Copy link
Contributor Author

rgee0 commented Oct 21, 2017

Derek add label: Proposal

@alexellis
Copy link
Member

alexellis commented Oct 23, 2017

Thanks.

Did you find the multi-arch images from nats.io for testing on ARM/RPi?

I can see "NATS" is multi-arch but not NATS-Streaming which is what we need.

https://hub.docker.com/r/library/nats/
https://hub.docker.com/r/library/nats-streaming/

Marking as blocked and pinging NATS team.

@alexellis alexellis changed the title Add docker-compose.extended.yml equivalents for ARM Add NATS Streaming stack for ARM Oct 23, 2017
@petemiron
Copy link

petemiron commented Oct 24, 2017

Sample Docker image is available at: docker pull petemiron/nats-streaming-server-arm64

Full multi-platform support will be available once this is merged: nats-io/nats-streaming-docker#8 waiting on nats-streaming-server 0.6.0 release, which should be out end of this week (10/27/2017).

cc @kozlovic

@alexellis
Copy link
Member

Hey Peter, thank you. This will be very helpful for a Hyper armv demo and for Packet. I need the 32-bit version for Raspberry Pi for the demo we talked about. I'll also have a look at the Dockerfile for this.

@kozlovic
Copy link

@alexellis We have this PR submitted to the official-images repo. We do include an arm32v7 docker image. Hope this is what you were looking for. The PR has not been merged yet, but they usually have a pretty good turn around, so I would not be surprised if this was merged today and available on Docker Hub by EOD.

@kozlovic
Copy link

@alexellis If you need to build your own docker image, it is pretty simple. If you don't need to recompile the server with Go 1.9.2, then simply go on an ARM machine where docker is installed, then either clone repo https://github.com/nats-io/nats-streaming-docker/ and cd into directory arm32v7 or copy the content of this directory locally and then build the image:

docker build -t <image name> .

You should now have an ARM32v7 docker image of NATS Streaming v0.6.0 server.

If you need to recompile, generate the executable with the appropriate Go version this way. Note that this is using cross-compile, so you can build from any platform, say macOS:

env CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -v -a -tags netgo -installsuffix netgo -ldflags "-s -w -X github.com/nats-io/nats-streaming-server/version.GITCOMMIT=`git rev-parse --short HEAD`" -o nats-streaming-server

Copy the generated executable to the directory I mentioned above and build the docker image as described before.

@kozlovic
Copy link

@alexellis It seems that they have merged the PR and there is a tag for arm32v7. However, it seems that there is a problem and the linux/amd64 seem to be unavailable. Not sure what's going on there.

@alexellis
Copy link
Member

@kozlovic I think it's all good now for ARMHF - not sure about ARM64?

@alexellis
Copy link
Member

This is now available for armhf in our repo.

@kozlovic
Copy link

kozlovic commented Nov 9, 2017

@alexellis we do have an ARM64 image too.

@alexellis
Copy link
Member

Perfect.. 👍

@openfaas openfaas locked and limited conversation to collaborators Nov 15, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants