crewjam / etcd-aws Goto Github PK
View Code? Open in Web Editor NEWtools for building a robust etcd cluster in AWS
License: BSD 2-Clause "Simplified" License
tools for building a robust etcd cluster in AWS
License: BSD 2-Clause "Simplified" License
So multiple etcd clusters can share the same bucket
Don't panic when provided with an invalid key. Ref this comment:
The call to WatchLifecycleEvents in the etcd-aws source is short a parameter (the queueURL) according to ec2cluster source.
As a result the project does not compile.
Hi guys,
I read all the blog post and I loved the solution. But I'm having some problems to get de AWS CloudFormation Template. I'm not a Go developer, and I don't know even start to build this. But I really really need this solution. Is possible to someone send me this etcd.template?
Best regards.
TKS!
Hi!
I were looking at your code as solution for building auto healing etcd cluster on top of ASG.
I started to wonder why you call etcd
not etcd2
? https://github.com/crewjam/etcd-aws/blob/master/etcd-aws.go#L213
At least when I check in CoreOS alpha (899.11.0) the etcd
executable starts the older version and etcd2
the new.
Hello,
i suppose this https://github.com/crewjam/etcd-aws/blob/master/etcd-aws.go#L226
should look like
fmt.Sprintf("ETCD_DATA_DIR=%s", *dataDir)
i order for this to work https://github.com/crewjam/etcd-aws/blob/master/etcd-aws.go#L148-L154
Hi, love your work -- didn't realise it was possible to save/restore the state of etcd and start up without a discovery token.
I have a similar requirement to get a HA CoreOS cluster working in AWS, I had been apprehensive about the cluster getting damaged during a catastrophic reboot.
Having understood what you are doing, have you considered Flocker?
Since you are running the etcd_aws in a docker you will get the load/save into an EBS volume. Don't know if it will make much difference to your design but it removes the need for a named S3 bucket....
Could you please give more details on how to compile this repository with Go? "go install ./..." complains about broken dependencies and doesn't work even if i do "go get %" for all of them...
Since Kubernetes 1.6.0 use etcd3 by default, is there any plan about upgrading the embeded etcd to the lastest version ?
Hi,
When I try to deploy CF via etcd-aws-cfn I get error:
ERROR: deploy: MissingRegion: could not find region configuration
What the way to fix it?
Thank you
Hi,
Seems 5 minutes for
"MasterAutoscale": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"CreationPolicy": {
"ResourceSignal": {
"Count": 3,
"Timeout": "PT5M"
}
},
not enough. Deployment stops.
When change to 10 - ok.
Here's example:
14:38:32 UTC+0300 CREATE_IN_PROGRESS AWS::AutoScaling::AutoScalingGroup MasterAutoscale Received SUCCESS signal with UniqueId i-df0b7058
Physical ID:CF23-ETCD-PBOGUK-STACK-MasterAutoscale-4N1QTY021CQU
14:32:59 UTC+0300 CREATE_IN_PROGRESS AWS::AutoScaling::AutoScalingGroup MasterAutoscale Received SUCCESS signal with UniqueId i-d3106b54
Physical ID:CF23-ETCD-PBOGUK-STACK-MasterAutoscale-4N1QTY021CQU
14:32:38 UTC+0300 CREATE_IN_PROGRESS AWS::AutoScaling::AutoScalingGroup MasterAutoscale Received SUCCESS signal with UniqueId i-b657a42c
As you can see difference 14:38:32 and 14:32:59 more than 5 minutes.
I made about 10 attempts and results are quite similar.
FYI
Per the documentation, I ran "go install ./..." in the project directory to install the etcd-aws-cfn tool. I got this error:
go install ./...
# github.com/crewjam/etcd-aws/aws
aws/health.go:24: cannot use cloudformation.String("1") (type *cloudformation.St
ringExpr) as type *cloudformation.IntegerExpr in field value
aws/health.go:33: cannot use cloudformation.String("60") (type *cloudformation.S
tringExpr) as type *cloudformation.IntegerExpr in field value
aws/health.go:54: cannot use cloudformation.String("1") (type *cloudformation.St
ringExpr) as type *cloudformation.IntegerExpr in field value
aws/health.go:63: cannot use cloudformation.String("300") (type *cloudformation.StringExpr) as type *cloudformation.IntegerExpr in field value
I replaced cfn.String with cfn.Integer in health.go, and compilation succeeded. I am going to test to make sure the tool works as expected, then I'll submit a pull request.
Hi,
Faced with next situation:
After cluster finished to create - only one node runs etcd-aws service.
On other two I see
Failed Units: 1
etcd-aws.service
journalctl -xe
May 06 12:28:46 ip-10-242-131-220.ec2.internal locksmithd[619]: [etcd.service etcd2.service] are inactive
May 06 12:28:46 ip-10-242-131-220.ec2.internal locksmithd[619]: Unlocking old locks failed: [etcd.service etcd2.service] are inactive. Retrying in 5m0s.
And only if I start service by hand( under root by executing systemctl start etcd-aws) etcd-aws service(and docker container) starts to work.
To recap:
Only one node start etcd-awd after CF deployment, 2 others need to perform to start etcd-aws service by hand.
Any suggestions?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.