WalzoneInterview Prep
πŸ“ž Interviewing soon? Practice with a realistic AI mock phone interview β€” it calls you, then scores you. First 15 min FREE β†’

Kubernetes Β· Basic Β· question 17 of 100

How do you expose an application in a Kubernetes cluster using a Service?

πŸ“• Buy this interview preparation book: 100 Kubernetes questions & answers β€” PDF + EPUB for $5

To expose an application in a Kubernetes cluster, you can use a Service. A Service is a Kubernetes resource that provides a stable IP address and DNS name for accessing a set of Pods in a deployment or replica set. By creating a Service, you can expose your application to the outside world or other services running in the cluster.

Here are the steps to expose an application in a Kubernetes cluster using a Service:

Create a Deployment: First, create a Deployment that specifies the Pod template for your application.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-container
        image: my-image:latest
        ports:
        - containerPort: 80

Create a Service: Next, create a Service that targets the Pods in your Deployment. This will create a stable IP address and DNS name for accessing your application.

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
  - name: http
    port: 80
    targetPort: 80
  type: ClusterIP

This Service targets the Pods in the Deployment with the label app: my-app, and exposes port 80 for accessing the application. The type field is set to ClusterIP, which creates a virtual IP address for the Service that is only accessible within the cluster.

Access your application: Now that you have a Service created, you can access your application using the IP address or DNS name of the Service.

http://<service-ip>:<port>

In this example, you would replace <service-ip> with the IP address of the Service, and <port> with the port number you specified in the Service configuration (in this case, 80).

Alternatively, you can use the DNS name of the Service to access your application.

http://<service-name>.<namespace>.svc.cluster.local:<port>

In this example, you would replace <service-name> with the name of the Service, <namespace> with the namespace in which the Service was created, and <port> with the port number you specified in the Service configuration (in this case, 80).

In conclusion, to expose an application in a Kubernetes cluster using a Service, you need to create a Deployment that specifies the Pod template for your application, create a Service that targets the Pods in your Deployment, and then access your application using the IP address or DNS name of the Service. Services are an essential component of Kubernetes networking and provide a way to expose your applications to the outside world or other services running in the cluster.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Kubernetes interview β€” then scores it.
πŸ“ž Practice Kubernetes β€” free 15 min
πŸ“• Buy this interview preparation book: 100 Kubernetes questions & answers β€” PDF + EPUB for $5

All 100 Kubernetes questions Β· All topics