Expose opensource Helm charts through Istio Gateway/VirtualService
I want to expose some Helm Charts through Istio ingress.
For example, today I can expose Kubernetes Dashboard via Ingress
type (with NginX Ingress):
helm install stable/kubernetes-dashboard --set ingress.enabled=true
However, for Istio would I have to fork the Kubernetes Dashboard Helm chart to add the required Gateway
and VirtualService
yaml?
Or is there a better way to patch opensource charts to work with Istio ingress?
kubernetes istio helm
add a comment |
I want to expose some Helm Charts through Istio ingress.
For example, today I can expose Kubernetes Dashboard via Ingress
type (with NginX Ingress):
helm install stable/kubernetes-dashboard --set ingress.enabled=true
However, for Istio would I have to fork the Kubernetes Dashboard Helm chart to add the required Gateway
and VirtualService
yaml?
Or is there a better way to patch opensource charts to work with Istio ingress?
kubernetes istio helm
Possible duplicate of kubernetes-dashboard exposing through istio [1.0.0] ingress --istio-ingressgateway
– Artem Golenyaev
Nov 14 at 11:56
Nope my question is really if there is an approach or pattern that I can use rather than forking opensource charts. I've updated question
– DarVar
Nov 14 at 12:05
add a comment |
I want to expose some Helm Charts through Istio ingress.
For example, today I can expose Kubernetes Dashboard via Ingress
type (with NginX Ingress):
helm install stable/kubernetes-dashboard --set ingress.enabled=true
However, for Istio would I have to fork the Kubernetes Dashboard Helm chart to add the required Gateway
and VirtualService
yaml?
Or is there a better way to patch opensource charts to work with Istio ingress?
kubernetes istio helm
I want to expose some Helm Charts through Istio ingress.
For example, today I can expose Kubernetes Dashboard via Ingress
type (with NginX Ingress):
helm install stable/kubernetes-dashboard --set ingress.enabled=true
However, for Istio would I have to fork the Kubernetes Dashboard Helm chart to add the required Gateway
and VirtualService
yaml?
Or is there a better way to patch opensource charts to work with Istio ingress?
kubernetes istio helm
kubernetes istio helm
edited Nov 14 at 12:04
asked Nov 13 at 11:48
DarVar
6,925145588
6,925145588
Possible duplicate of kubernetes-dashboard exposing through istio [1.0.0] ingress --istio-ingressgateway
– Artem Golenyaev
Nov 14 at 11:56
Nope my question is really if there is an approach or pattern that I can use rather than forking opensource charts. I've updated question
– DarVar
Nov 14 at 12:05
add a comment |
Possible duplicate of kubernetes-dashboard exposing through istio [1.0.0] ingress --istio-ingressgateway
– Artem Golenyaev
Nov 14 at 11:56
Nope my question is really if there is an approach or pattern that I can use rather than forking opensource charts. I've updated question
– DarVar
Nov 14 at 12:05
Possible duplicate of kubernetes-dashboard exposing through istio [1.0.0] ingress --istio-ingressgateway
– Artem Golenyaev
Nov 14 at 11:56
Possible duplicate of kubernetes-dashboard exposing through istio [1.0.0] ingress --istio-ingressgateway
– Artem Golenyaev
Nov 14 at 11:56
Nope my question is really if there is an approach or pattern that I can use rather than forking opensource charts. I've updated question
– DarVar
Nov 14 at 12:05
Nope my question is really if there is an approach or pattern that I can use rather than forking opensource charts. I've updated question
– DarVar
Nov 14 at 12:05
add a comment |
2 Answers
2
active
oldest
votes
You could create your own chart that includes the stable/kubernetes-dashboard
as dependency in the requirements.yaml
. Then you effectively have a wrapper chart that includes the dashboard and you can include the Istio ingress configuration at the wrapper level.
add a comment |
Actually you can do this without wrapping. In my case I had to expose Keycloak as VirtualService
. Also keycloak was in other namespace.
- I wrote
Gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: keycloak-gateway
namespace: keycloak
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
- I wrote
VirtualService
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: demo-keycloak-http
namespace: keycloak
spec:
gateways:
- keycloak-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /auth
route:
- destination:
host: demo-keycloak-http.keycloak.svc.cluster.local
port:
number: 80
Notice that I am routing the service name.
As you can see, it is possible to expose the helm chart from other namespace, in addition. In your case, maybe you will not need to have to write Gateway
You just need find the name of service and write for it VirtualService
.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280401%2fexpose-opensource-helm-charts-through-istio-gateway-virtualservice%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You could create your own chart that includes the stable/kubernetes-dashboard
as dependency in the requirements.yaml
. Then you effectively have a wrapper chart that includes the dashboard and you can include the Istio ingress configuration at the wrapper level.
add a comment |
You could create your own chart that includes the stable/kubernetes-dashboard
as dependency in the requirements.yaml
. Then you effectively have a wrapper chart that includes the dashboard and you can include the Istio ingress configuration at the wrapper level.
add a comment |
You could create your own chart that includes the stable/kubernetes-dashboard
as dependency in the requirements.yaml
. Then you effectively have a wrapper chart that includes the dashboard and you can include the Istio ingress configuration at the wrapper level.
You could create your own chart that includes the stable/kubernetes-dashboard
as dependency in the requirements.yaml
. Then you effectively have a wrapper chart that includes the dashboard and you can include the Istio ingress configuration at the wrapper level.
answered Nov 14 at 12:22
Ryan Dawson
3,1573324
3,1573324
add a comment |
add a comment |
Actually you can do this without wrapping. In my case I had to expose Keycloak as VirtualService
. Also keycloak was in other namespace.
- I wrote
Gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: keycloak-gateway
namespace: keycloak
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
- I wrote
VirtualService
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: demo-keycloak-http
namespace: keycloak
spec:
gateways:
- keycloak-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /auth
route:
- destination:
host: demo-keycloak-http.keycloak.svc.cluster.local
port:
number: 80
Notice that I am routing the service name.
As you can see, it is possible to expose the helm chart from other namespace, in addition. In your case, maybe you will not need to have to write Gateway
You just need find the name of service and write for it VirtualService
.
add a comment |
Actually you can do this without wrapping. In my case I had to expose Keycloak as VirtualService
. Also keycloak was in other namespace.
- I wrote
Gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: keycloak-gateway
namespace: keycloak
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
- I wrote
VirtualService
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: demo-keycloak-http
namespace: keycloak
spec:
gateways:
- keycloak-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /auth
route:
- destination:
host: demo-keycloak-http.keycloak.svc.cluster.local
port:
number: 80
Notice that I am routing the service name.
As you can see, it is possible to expose the helm chart from other namespace, in addition. In your case, maybe you will not need to have to write Gateway
You just need find the name of service and write for it VirtualService
.
add a comment |
Actually you can do this without wrapping. In my case I had to expose Keycloak as VirtualService
. Also keycloak was in other namespace.
- I wrote
Gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: keycloak-gateway
namespace: keycloak
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
- I wrote
VirtualService
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: demo-keycloak-http
namespace: keycloak
spec:
gateways:
- keycloak-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /auth
route:
- destination:
host: demo-keycloak-http.keycloak.svc.cluster.local
port:
number: 80
Notice that I am routing the service name.
As you can see, it is possible to expose the helm chart from other namespace, in addition. In your case, maybe you will not need to have to write Gateway
You just need find the name of service and write for it VirtualService
.
Actually you can do this without wrapping. In my case I had to expose Keycloak as VirtualService
. Also keycloak was in other namespace.
- I wrote
Gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: keycloak-gateway
namespace: keycloak
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
- I wrote
VirtualService
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: demo-keycloak-http
namespace: keycloak
spec:
gateways:
- keycloak-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /auth
route:
- destination:
host: demo-keycloak-http.keycloak.svc.cluster.local
port:
number: 80
Notice that I am routing the service name.
As you can see, it is possible to expose the helm chart from other namespace, in addition. In your case, maybe you will not need to have to write Gateway
You just need find the name of service and write for it VirtualService
.
edited Dec 14 at 21:46
answered Dec 12 at 15:17
nurgasemetey
3092927
3092927
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280401%2fexpose-opensource-helm-charts-through-istio-gateway-virtualservice%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Possible duplicate of kubernetes-dashboard exposing through istio [1.0.0] ingress --istio-ingressgateway
– Artem Golenyaev
Nov 14 at 11:56
Nope my question is really if there is an approach or pattern that I can use rather than forking opensource charts. I've updated question
– DarVar
Nov 14 at 12:05