Kubernetes - Ingress with Minikube









up vote
0
down vote

favorite












I am learning kubernetes by playing with minikube.



This is my pod deployment file which is fine.



apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 2
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
containers:
- name: myapp
image: myid/myimage


I am exposing the above pods using NodePort. I am able to access using minikube IP at port 30002.



apiVersion: v1
kind: Service
metadata:
name: my-ip-service
spec:
type: NodePort
externalIPs:
- 192.168.99.100
selector:
component: web
ports:
- port: 3000
nodePort: 30002
targetPort: 8080


Now i would like to use ingress to access the application at port 80 which will forward the request the ip-service at port 3000. It does NOT work



apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: my-ip-service
servicePort: 3000


If i try to access to ingress, address is blank.



NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 41m


How to use ingress with minikube? Or how to bind the minikube ip with ingress service - so that the app can be exposed outside without using nodeport










share|improve this question























  • Please check if this question is related to your question: stackoverflow.com/questions/51243717/…
    – Seth Difley
    Nov 11 at 22:33










  • Thanks Mr.Seth, I saw that answer already. it did not work. I did add an entry in the /etc/hosts -
    – KitKarson
    Nov 11 at 22:45










  • @SethDifley , Thanks Seth, as you had mentioned, k8s seems to work only with some kind of external load balancers if we need to use ingress. blog.getambassador.io/…. I am not sure why you deleted your answer
    – KitKarson
    Nov 11 at 23:38














up vote
0
down vote

favorite












I am learning kubernetes by playing with minikube.



This is my pod deployment file which is fine.



apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 2
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
containers:
- name: myapp
image: myid/myimage


I am exposing the above pods using NodePort. I am able to access using minikube IP at port 30002.



apiVersion: v1
kind: Service
metadata:
name: my-ip-service
spec:
type: NodePort
externalIPs:
- 192.168.99.100
selector:
component: web
ports:
- port: 3000
nodePort: 30002
targetPort: 8080


Now i would like to use ingress to access the application at port 80 which will forward the request the ip-service at port 3000. It does NOT work



apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: my-ip-service
servicePort: 3000


If i try to access to ingress, address is blank.



NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 41m


How to use ingress with minikube? Or how to bind the minikube ip with ingress service - so that the app can be exposed outside without using nodeport










share|improve this question























  • Please check if this question is related to your question: stackoverflow.com/questions/51243717/…
    – Seth Difley
    Nov 11 at 22:33










  • Thanks Mr.Seth, I saw that answer already. it did not work. I did add an entry in the /etc/hosts -
    – KitKarson
    Nov 11 at 22:45










  • @SethDifley , Thanks Seth, as you had mentioned, k8s seems to work only with some kind of external load balancers if we need to use ingress. blog.getambassador.io/…. I am not sure why you deleted your answer
    – KitKarson
    Nov 11 at 23:38












up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am learning kubernetes by playing with minikube.



This is my pod deployment file which is fine.



apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 2
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
containers:
- name: myapp
image: myid/myimage


I am exposing the above pods using NodePort. I am able to access using minikube IP at port 30002.



apiVersion: v1
kind: Service
metadata:
name: my-ip-service
spec:
type: NodePort
externalIPs:
- 192.168.99.100
selector:
component: web
ports:
- port: 3000
nodePort: 30002
targetPort: 8080


Now i would like to use ingress to access the application at port 80 which will forward the request the ip-service at port 3000. It does NOT work



apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: my-ip-service
servicePort: 3000


If i try to access to ingress, address is blank.



NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 41m


How to use ingress with minikube? Or how to bind the minikube ip with ingress service - so that the app can be exposed outside without using nodeport










share|improve this question















I am learning kubernetes by playing with minikube.



This is my pod deployment file which is fine.



apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 2
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
containers:
- name: myapp
image: myid/myimage


I am exposing the above pods using NodePort. I am able to access using minikube IP at port 30002.



apiVersion: v1
kind: Service
metadata:
name: my-ip-service
spec:
type: NodePort
externalIPs:
- 192.168.99.100
selector:
component: web
ports:
- port: 3000
nodePort: 30002
targetPort: 8080


Now i would like to use ingress to access the application at port 80 which will forward the request the ip-service at port 3000. It does NOT work



apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: my-ip-service
servicePort: 3000


If i try to access to ingress, address is blank.



NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 41m


How to use ingress with minikube? Or how to bind the minikube ip with ingress service - so that the app can be exposed outside without using nodeport







kubernetes minikube kubernetes-ingress






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 at 1:08

























asked Nov 11 at 22:17









KitKarson

83821535




83821535











  • Please check if this question is related to your question: stackoverflow.com/questions/51243717/…
    – Seth Difley
    Nov 11 at 22:33










  • Thanks Mr.Seth, I saw that answer already. it did not work. I did add an entry in the /etc/hosts -
    – KitKarson
    Nov 11 at 22:45










  • @SethDifley , Thanks Seth, as you had mentioned, k8s seems to work only with some kind of external load balancers if we need to use ingress. blog.getambassador.io/…. I am not sure why you deleted your answer
    – KitKarson
    Nov 11 at 23:38
















  • Please check if this question is related to your question: stackoverflow.com/questions/51243717/…
    – Seth Difley
    Nov 11 at 22:33










  • Thanks Mr.Seth, I saw that answer already. it did not work. I did add an entry in the /etc/hosts -
    – KitKarson
    Nov 11 at 22:45










  • @SethDifley , Thanks Seth, as you had mentioned, k8s seems to work only with some kind of external load balancers if we need to use ingress. blog.getambassador.io/…. I am not sure why you deleted your answer
    – KitKarson
    Nov 11 at 23:38















Please check if this question is related to your question: stackoverflow.com/questions/51243717/…
– Seth Difley
Nov 11 at 22:33




Please check if this question is related to your question: stackoverflow.com/questions/51243717/…
– Seth Difley
Nov 11 at 22:33












Thanks Mr.Seth, I saw that answer already. it did not work. I did add an entry in the /etc/hosts -
– KitKarson
Nov 11 at 22:45




Thanks Mr.Seth, I saw that answer already. it did not work. I did add an entry in the /etc/hosts -
– KitKarson
Nov 11 at 22:45












@SethDifley , Thanks Seth, as you had mentioned, k8s seems to work only with some kind of external load balancers if we need to use ingress. blog.getambassador.io/…. I am not sure why you deleted your answer
– KitKarson
Nov 11 at 23:38




@SethDifley , Thanks Seth, as you had mentioned, k8s seems to work only with some kind of external load balancers if we need to use ingress. blog.getambassador.io/…. I am not sure why you deleted your answer
– KitKarson
Nov 11 at 23:38












2 Answers
2






active

oldest

votes

















up vote
1
down vote



accepted










You can get your minikube node's IP address with:



minikube ip


The ingress' IP address will not populate in minikube because minikube lacks a load balancer. If you'd like something that behaves like a load balancer for your minikube cluster, https://github.com/knative/serving/blob/master/docs/creating-a-kubernetes-cluster.md#loadbalancer-support-in-minikube suggests running the following commands to patch your cluster:



sudo ip route add $(cat ~/.minikube/profiles/minikube/config.json | jq -r ".KubernetesConfig.ServiceCIDR") via $(minikube ip)
kubectl run minikube-lb-patch --replicas=1 --image=elsonrodriguez/minikube-lb-patch:0.1 --namespace=kube-system





share|improve this answer






















  • thanks for your time. it does not answer the question. i know how to get minkube ip. my question is how to use ingress to expose the application instead of nodeport
    – KitKarson
    Nov 11 at 22:26

















up vote
1
down vote













I think you are missing the ingress controller resource on minikube itself. There are many possible ways to create an ingress-controller resource on K8s , but i think for you the best way to start on minikube is to follow this documentation.



Don't forget to read about Ingress in general once you get this working.






share|improve this answer




















  • thats a good info which i should have read! Thanks for sharing.
    – KitKarson
    Nov 12 at 19:16










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',
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
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53253793%2fkubernetes-ingress-with-minikube%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








up vote
1
down vote



accepted










You can get your minikube node's IP address with:



minikube ip


The ingress' IP address will not populate in minikube because minikube lacks a load balancer. If you'd like something that behaves like a load balancer for your minikube cluster, https://github.com/knative/serving/blob/master/docs/creating-a-kubernetes-cluster.md#loadbalancer-support-in-minikube suggests running the following commands to patch your cluster:



sudo ip route add $(cat ~/.minikube/profiles/minikube/config.json | jq -r ".KubernetesConfig.ServiceCIDR") via $(minikube ip)
kubectl run minikube-lb-patch --replicas=1 --image=elsonrodriguez/minikube-lb-patch:0.1 --namespace=kube-system





share|improve this answer






















  • thanks for your time. it does not answer the question. i know how to get minkube ip. my question is how to use ingress to expose the application instead of nodeport
    – KitKarson
    Nov 11 at 22:26














up vote
1
down vote



accepted










You can get your minikube node's IP address with:



minikube ip


The ingress' IP address will not populate in minikube because minikube lacks a load balancer. If you'd like something that behaves like a load balancer for your minikube cluster, https://github.com/knative/serving/blob/master/docs/creating-a-kubernetes-cluster.md#loadbalancer-support-in-minikube suggests running the following commands to patch your cluster:



sudo ip route add $(cat ~/.minikube/profiles/minikube/config.json | jq -r ".KubernetesConfig.ServiceCIDR") via $(minikube ip)
kubectl run minikube-lb-patch --replicas=1 --image=elsonrodriguez/minikube-lb-patch:0.1 --namespace=kube-system





share|improve this answer






















  • thanks for your time. it does not answer the question. i know how to get minkube ip. my question is how to use ingress to expose the application instead of nodeport
    – KitKarson
    Nov 11 at 22:26












up vote
1
down vote



accepted







up vote
1
down vote



accepted






You can get your minikube node's IP address with:



minikube ip


The ingress' IP address will not populate in minikube because minikube lacks a load balancer. If you'd like something that behaves like a load balancer for your minikube cluster, https://github.com/knative/serving/blob/master/docs/creating-a-kubernetes-cluster.md#loadbalancer-support-in-minikube suggests running the following commands to patch your cluster:



sudo ip route add $(cat ~/.minikube/profiles/minikube/config.json | jq -r ".KubernetesConfig.ServiceCIDR") via $(minikube ip)
kubectl run minikube-lb-patch --replicas=1 --image=elsonrodriguez/minikube-lb-patch:0.1 --namespace=kube-system





share|improve this answer














You can get your minikube node's IP address with:



minikube ip


The ingress' IP address will not populate in minikube because minikube lacks a load balancer. If you'd like something that behaves like a load balancer for your minikube cluster, https://github.com/knative/serving/blob/master/docs/creating-a-kubernetes-cluster.md#loadbalancer-support-in-minikube suggests running the following commands to patch your cluster:



sudo ip route add $(cat ~/.minikube/profiles/minikube/config.json | jq -r ".KubernetesConfig.ServiceCIDR") via $(minikube ip)
kubectl run minikube-lb-patch --replicas=1 --image=elsonrodriguez/minikube-lb-patch:0.1 --namespace=kube-system






share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 11 at 22:28

























answered Nov 11 at 22:21









Seth Difley

1,08211724




1,08211724











  • thanks for your time. it does not answer the question. i know how to get minkube ip. my question is how to use ingress to expose the application instead of nodeport
    – KitKarson
    Nov 11 at 22:26
















  • thanks for your time. it does not answer the question. i know how to get minkube ip. my question is how to use ingress to expose the application instead of nodeport
    – KitKarson
    Nov 11 at 22:26















thanks for your time. it does not answer the question. i know how to get minkube ip. my question is how to use ingress to expose the application instead of nodeport
– KitKarson
Nov 11 at 22:26




thanks for your time. it does not answer the question. i know how to get minkube ip. my question is how to use ingress to expose the application instead of nodeport
– KitKarson
Nov 11 at 22:26












up vote
1
down vote













I think you are missing the ingress controller resource on minikube itself. There are many possible ways to create an ingress-controller resource on K8s , but i think for you the best way to start on minikube is to follow this documentation.



Don't forget to read about Ingress in general once you get this working.






share|improve this answer




















  • thats a good info which i should have read! Thanks for sharing.
    – KitKarson
    Nov 12 at 19:16














up vote
1
down vote













I think you are missing the ingress controller resource on minikube itself. There are many possible ways to create an ingress-controller resource on K8s , but i think for you the best way to start on minikube is to follow this documentation.



Don't forget to read about Ingress in general once you get this working.






share|improve this answer




















  • thats a good info which i should have read! Thanks for sharing.
    – KitKarson
    Nov 12 at 19:16












up vote
1
down vote










up vote
1
down vote









I think you are missing the ingress controller resource on minikube itself. There are many possible ways to create an ingress-controller resource on K8s , but i think for you the best way to start on minikube is to follow this documentation.



Don't forget to read about Ingress in general once you get this working.






share|improve this answer












I think you are missing the ingress controller resource on minikube itself. There are many possible ways to create an ingress-controller resource on K8s , but i think for you the best way to start on minikube is to follow this documentation.



Don't forget to read about Ingress in general once you get this working.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 12 at 6:29









fatcook

1667




1667











  • thats a good info which i should have read! Thanks for sharing.
    – KitKarson
    Nov 12 at 19:16
















  • thats a good info which i should have read! Thanks for sharing.
    – KitKarson
    Nov 12 at 19:16















thats a good info which i should have read! Thanks for sharing.
– KitKarson
Nov 12 at 19:16




thats a good info which i should have read! Thanks for sharing.
– KitKarson
Nov 12 at 19:16

















draft saved

draft discarded
















































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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53253793%2fkubernetes-ingress-with-minikube%23new-answer', 'question_page');

);

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







這個網誌中的熱門文章

Barbados

How to read a connectionString WITH PROVIDER in .NET Core?

Node.js Script on GitHub Pages or Amazon S3