🥋
Dojo
Inglés
Inglés
  • Dojo
    • 🔎Relevant content
  • App Store
    • Create an Apple Developer Account
    • Create Organizational Account on Apple Developer
    • Upload an App to the App Store
  • Classroom
    • Create a class in Classroom
    • Create and add topics to a Classroom class
    • Add students or teachers in Classroom
    • Assign trainings in Classroom
    • Join a Classroom class as a student
  • Docker
    • Install Docker
  • Git
    • Do a 3-way merge in git
    • Do a Fast Forward merge in git
    • Do a git revert
    • Resolve merge conflicts using the command line
    • Use git add
    • Use git cherry pick
    • Use git rm
    • Use git stash
  • Git Graph
    • Install Git Graph
    • See repository graph
    • Filter branches
    • Merge branch
  • GitBook
    • Create Dojo content in GitBook
    • Create a space in GitBook
    • Delete a space in GitBook
    • Duplicate a space in GitBook
    • Move a space in GitBook
  • GitLab
    • Create a milestone in GitLab
    • View a milestone in GitLab
    • Close a milestone in GitLab
    • Create a repository in GitLab
    • Import issues to GitLab
    • Make a bulk in GitLab
    • Setup two factor authentication for GitLab
    • Create a task in GitLab
    • Viewing tasks in GitLab
    • Close tasks in GitLab
  • Gmail
    • Create a Gmail signature
    • Create an email template in Gmail
    • Send emails with different aliases or groupse
    • Get permissions to send and receive emails from an alias or group
  • HUGO
    • Organize Markdown Content
  • Java
    • Install Java with SDKMan
  • Jira
    • Use shortcuts in jira
    • Use basic filters in jira
    • Use advanced filters in jira
    • Use filters in jira projects
  • Kubernetes
    • Deploy a microservice in Kubernetes
    • See Kubernetes Pod Logs
    • Run a pod with images from a private repository
    • Use config maps to configure a deployment
    • Use secrets to configure a deployment
    • Communicate two microservices in a Kubernetes cluster
    • Create an Ingress Controller on a Cluster
    • Configure Kubernetes Horizontal Pod Autoscaler
    • Connect a container to Google Storage
  • Make
    • Install Make
  • Minikube
    • Install Minikube
    • Manage Cluster With Minikube
    • Use Minikube to Configure a Kubernetes Cluster
  • MySQL
    • Dump a database in MySQL
    • Install MySQL with Docker container
  • Node.js
    • Install Gray-matter
    • Use Gray-matter
    • Read File in Node.js
  • Open SSH
    • Generate SSH private-public key pair
  • Play Store
    • Upload an App to the Google Play Store
    • Create organizational account in Play store
  • Screen Recorder
    • Loom
      • Install Loom
      • Record with Loom
  • Tezos
    • Deploy a smart contract
    • Implement a NFT contract
    • Interact with a smart contract with Taquito
  • Telegram
    • Forward messages to multiple users
  • VaultWarden
    • Create an account
    • How can I create a password?
    • Sharing credentials with external parties
  • Video editor
    • HandBrake
      • Change the format of a video in HandBrake
    • iMovie
      • Edit video in iMovie
  • Visual Studio Code
    • Install visual studio code
    • Install extensions in vscode
  • VueJS
    • Create a project with Vue
    • Install VueCLI
  • YouTube
    • Upload a video to YouTube
  • Zoho
    • Share access from zoho
    • Remove access from zoho
    • Login to the dojo base with a shared access by zoho
Powered by GitBook
On this page
  • Prerequisites
  • Accessing services with Ingress
  • Reference Links
  1. Kubernetes

Create an Ingress Controller on a Cluster

Prerequisites

  • Configure Ingress Controller

  • Create deployments

  • Expose deployments

minikube addons enable ingress
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
kubectl expose deployment web --type=NodePort --port=8080
kubectl create deployment web2 --image=gcr.io/google-samples/hello-app:2.0
kubectl expose deployment web2 --port=8080 --type=NodePort

Accessing services with Ingress

Once we have the services to be routed by the ingress we define the file demo-ingress.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - host: hello-world.info
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web
                port:
                  number: 8080
		  - path: /v2
            pathType: Prefix
            backend:
              service:
                name: web2
                port:
                  number: 8080
			

This file defines an Ingress with the path hello-world.info for the service web and hello-wold.info/v2 for the service web2

To test locally execute the following and copy the IP assigned to the Ingress we created

kubectl get ingress

Add the host and ip at the end of the file /etc/hosts

echo "192.168.59.114  hello-world.info" >> /etc/hosts

You can also just ssh into the cluster and test with curl

Reference Links

PreviousCommunicate two microservices in a Kubernetes clusterNextConfigure Kubernetes Horizontal Pod Autoscaler

Last updated 2 years ago

https://kubernetes.io/docs/concepts/services-networking/ingress/