Silvio Peña
Silvio Peña

Reputation: 98

is it possible to put fixed ip and port in minikube?

it is possible to fix the ip and port somewhere in my yaml. My application has 3 parts: a fronted with its respective balancer, a backend with its respective balancer and the database with statefulset and to persevere the volume, these 3 applications have their respective hpa rules.

I put the yaml of the backend if it is possible to set the ip and the port since I am working local and every so often I have to change the port or the ip.

backend.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend
spec:
  replicas: 2
  selector:
    matchLabels:
      app: backend
  template:
    metadata:
      labels:
        app: backend
    spec:
      containers:
        - name: backend
          image: XXXXXXX
          command: ["/bin/sh"]
          args: ["-c", "node index.js"]
          ports:
            - containerPort: 4000
          imagePullPolicy: IfNotPresent
          env:
            - name: HOST_DB
              value: "172.17.0.3"
            - name: PORT_DB
              value: "31109"
          resources:
            requests:
              memory: "128Mi"
              cpu: "200m"
            limits:
              memory: "256Mi"
              cpu: "1000m"
          readinessProbe:
            httpGet:
              path: /
              port: 4000
            initialDelaySeconds: 5
            periodSeconds: 10
          livenessProbe:
            tcpSocket:
              port: 4000
            initialDelaySeconds: 15
            periodSeconds: 20

---
apiVersion: v1
kind: Service
metadata:
  name: backend
spec:
  selector:
    app: backend
  ports:
    - protocol: TCP
      port: 5000
      targetPort: 4000
      name: https
  type: LoadBalancer

---
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: backend
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: backend
  minReplicas: 2
  maxReplicas: 10
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 50

the result image is this

enter image description here

Upvotes: 2

Views: 1195

Answers (1)

Arghya Sadhu
Arghya Sadhu

Reputation: 44569

The IP is anyway fixed to the single node's IP in case of minikube.You can hardcode the NodePort by specifying nodePort in the service. Without nodePort specified in the service kubernetes will assign a port from the range 30000-32767

apiVersion: v1
kind: Service
metadata:
  name: backend
spec:
  type: NodePort
  selector:
    app: backend
  ports:
    - protocol: TCP
      port: 5000
      targetPort: 4000
      name: https
      nodePort: 30007

Follow this guide to expose applications via NodePort type service in minikube.

Upvotes: 1

Related Questions