Comments (7)
@druskus20 cc @agarcia-oss
I believe the cause of this issue is not from kubeseal
or sealed-secrets
, but from the connection between the control plane and worker nodes on EKS.
If you use eks
module for creating your cluster, you can try adding this following code inside the module:
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "20.8.3"
# ...
node_security_group_additional_rules = {
# Allow ingresses from control plane to worker nodes
ingress_from_control_plane = {
type = "ingress"
# Feel free to change these to your desired ports
# Port `0` and protocol `-1` mean that I trust the control plane enough to allow ingresses of any ports & protocols to my worker nodes
from_port = 0
to_port = 0
protocol = "-1"
# `cluster_security_group` is the security group that control plane uses
source_cluster_security_group = true
}
}
# ...
}
By default eks
module has enabled some ingresses that allow connections from control plane to worker nodes, but AFAIK port 8080
(as used by sealed-secrets
controller) is not included.
I got the same problem and after adding the above security group kubeseal
works like a charm.
from sealed-secrets.
I believe I figured out why:
resource "aws_security_group_rule" "sealed-secrets-access" {
type = "ingress"
from_port = 8080
to_port = 8080
protocol = "tcp"
security_group_id = module.eks.node_security_group_id
source_security_group_id = module.eks.cluster_security_group_id
description = "Allow inbound traffic to sealed-secrets controller"
}
I had this rule configured on the cluster security group, instead of the node security group. Thanks!
from sealed-secrets.
Hi @druskus20
I just tried to verify the issue in an EKS cluster but I cannot reproduce it. Did you try the fetch-cert command to check the connectivity?
kubeseal --fetch-cert
Also, I executed your same command and it works for me:
kubeseal --controller-namespace kube-system --controller-name sealed-secrets-controller --format yaml < a.yaml
Please notice that I changed the controller name to the default sealed-secrets-controller
. Are you sure the sealed secrets service in your cluster is not named like that?
Regards
from sealed-secrets.
Also, could your issue be related to this one? #1450 (comment)
from sealed-secrets.
Hi @agarcia-oss
I tried to run kubeseal --fetch-cert
with the same result. The CLI hangs waiting for the response of kubeseal.
The controller-namespace
and controller-name
flags in my cluster are correct.
Here you can see how, executing a kubeseal command with the wrong namespace or name results in an error message.
However, when set correctly, the CLI hangs.
I also checked the aws-auth
configmap, and copied the one from my working cluster into the cluster in which kubeseal fails to respond, with no success.
from sealed-secrets.
Can you try the same fetch-certificate command but the the verbose option in kubeseal?
kubeseal --controller-namespace kube-system --controller-name sealed-secrets --fetch-cert -v 100
This should give you a full log of the request to the cluster from kubeseal.
from sealed-secrets.
@agarcia-oss @metalwhale
Thanks! that helped.
All is left is for me to figure out exactly which security rules I'm missing
from sealed-secrets.
Related Issues (20)
- Kubeseal not working on EKS IPv6 CLuster HOT 8
- Document system:authenticated group usage in GKE HOT 3
- Kubeseal is not able to fetch certificate HOT 1
- Kubeseal --re-encrypt with local certificates HOT 1
- Activate the golangci-lint gosec linter in the project configuration HOT 1
- Program managed sealed secret in GitOps environment (using ArgoCD) HOT 3
- [Helm] Netpol & Servicemonitor enabled - not able to scrape metrics HOT 1
- lastTransitionTime/lastUpdateTime under status->conditions not updated when updating a SealedSecret
- kubeseal is ignoring NO_PROXY variables upon request for cert.pem (403) HOT 6
- Unseal with --raw HOT 6
- Secret values not getting updated HOT 1
- Vendoring fails on 0.26.1 HOT 1
- Bug in Helm Chart in file role-binding.yaml
- Ability to enable TLS on Ingress with custom certificate which exists on the cluster already HOT 4
- Creating sealed secret throws an error: "an empty namespace may not be set when a resource name is provided" HOT 3
- Status shows no key could decrypt secret for successful created secret HOT 12
- decrypt secrets encrypted with custom TLS certificate of expired validity HOT 1
- Secret not yet active when deploying with Helm HOT 2
- Templating support for escaping JSON/YAML values HOT 2
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 sealed-secrets.