Comments (8)
From @vdice on February 16, 2017 18:12
The yaml file mentions, if you leave it blank it will use IAM roles. I'm not sure it's using the IAM roles because the registry-logs seems to open the dir for creds
I don't have direct experience with failures relating to IAM roles, but my first guess is the issue may lie in IAM role(s)/permissions set up/used by the cluster... Perhaps double-check that using the same role(s)/perms works properly elsewhere (say via aws
invocations in a terminal).
from builder.
From @blakebarnett on February 17, 2017 0:15
I ran into this also, I realized it's failing during the build because builder generates a pod spec that doesn't have the IAM role annotation. The dockerbuilder/slugbuilder podspec would need to inherit the AWS role annotation use for kube2iam.
Maybe something like this would work, though it would need to be conditional, etc:
index 8418cc6..d68771f 100644
--- a/pkg/gitreceive/k8s_util.go
+++ b/pkg/gitreceive/k8s_util.go
@@ -28,6 +28,7 @@ const (
builderStorage = "BUILDER_STORAGE"
objectStorePath = "/var/run/secrets/deis/objectstore/creds"
envRoot = "/tmp/env"
+ iamRole = "IAM_ROLE"
)
func dockerBuilderPodName(appName, shortSha string) string {
@@ -166,6 +167,9 @@ func buildPod(
Labels: map[string]string{
"heritage": name,
},
+ Annotations: map[string]string{
+ "iam.amazonaws.com/role": iamRole,
+ },
},
}
from builder.
@Akshaykapoor @blakebarnett @vdice Any news on this? We are experiencing the same problem 403 Access Denied
but the IAM policies are correct. Seems like deis-builder
is not respecting the blank access and secret keys and trying to use them.
from builder.
From @blakebarnett on May 8, 2017 20:28
Sorry, we had to stop using deis workflow because of this and a few other reasons.
from builder.
@blakebarnett, may I ask what the other reasons were?
Just interested in learning what else you ran into that was a deal breaker for you and your team.
from builder.
From @blakebarnett on May 9, 2017 17:26
Here's the non-sugar-coated list.
- Separate authentication scheme
- No support for RBAC or team-based access
- No support for kube2iam for AWS IAM integration
- Single app per-namespace limitation (hard-coded)
- No annotations
- Restricted label support
- No integration with Helm
- Deis router is buggy and slow
- Too opinionated on metrics and logging
- Very slow pace of recent development
- Uncertain future after Microsoft acquisition
from builder.
Thank you for the list @blakebarnett . We were aware with most of these. Agreed that it would be nice to have kube2iam integration for the pods and RBAC is being added in the next version it seems like.
The single app per-namespace is annoying as well.
What did you guys end up using instead or did you just go with some kind of custom kubernetes setup?
from builder.
From @blakebarnett on May 9, 2017 17:58
We're just building everything using CI and Helm charts for now, in hope that at some later point everything will play nicely and we can provide PaaS features.
from builder.
Related Issues (20)
- s2i (source2image) builder HOT 1
- builder should also support password callback HOT 1
- Make docker socket path configurable
- Add package level godoc
- Proposal: send logs directly from builder pods back to builder pod HOT 5
- Run as non-root user HOT 7
- Allow git pushes to respond with an informative failure message
- Have probes ping the SSH server HOT 1
- Use a cheaper way to ping the Kubernetes API in the health check endpoint HOT 2
- sign tarballs and compiled slugs HOT 1
- [META] Future runner capabilities HOT 3
- [META] Future build pipeline
- List of issues with running 2 or more builder pods in a cluster
- Allow namespacing of private registry images
- Add CURL variables to slugbuilder appConfig k8s_util
- Release phase HOT 1
- [ERROR] Failed handshake: read tcp ...
- Pushing any app without env variables fails HOT 2
- Add a test for #49 - BUILDPACK_URL
- Builder fails to resolve host HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from builder.