How to make service configurations in Eclipse Hono deployed on a K8s cluster? - eclipse-hono

I have deployed Hono on a K8s cluster using helm chart following the documentation from here. I am able to make some basic configuration changes using the values.yaml file. But I can't find where and how to configure service configurations of components like adapters, device registry, vertx options, etc when the deployment is on K8s cluster. Is it even possible to make these configuration changes post deployment using helm chart? or do I need to make the changes in source code, build, publish docker images and then deploy on K8s?

The service configurations of adapters and device registry can be configured using values.yaml. For example, the service configurations for HTTP adapter defined here can be configured using the values.yaml as in the below example.
adapters:
http:
hono:
app:
maxInstances: 1
http:
authenticationRequired: false

Related

Do I need minikube if I'm using a k8 cluster in Azure Cloud?

I'm trying to deploy a simple API into an AKS and want to show it off to the internet using an ingress controller. I want to know if I'm using cloud do I need to install minikube?
Minikube is designed for local Kubernetes development and testing. It supports one node by default. So it is not related to your AKS setup, i.e you don't need minikute for AKS.
To be able to demo your setup on the Internet, you can set up an AKS but be mindful of securities and make sure that you are not exposing your entire cluster on the Internet.

Activating Prometheus on Eclipse Hono?

i have recently installed eclipse-hono on a minikube with driver=none.
I want to use Grafana to show me the telemetry data and therefore I need to use Prometheus.
As you can see in the following picture, no port is assigned to Grafana or Prometheus.
This port needs to be exposed as I need to access the application from outside the server, where hono is running.
How can I activate the prometheus and grafana service?

Does the cloud code plugin for intellij work with Azure

I see that GCP is set on default to sign in so wondering if it works with Azure and if so how do i connect to it
Cloud Code IntelliJ Kubernetes features do work with any Kubernetes cluster, regardless of vendor, local or remote. Cloud Code uses standard kubectl configuration (kubeconfig file) to communicate with clusters. When you have your Azure cluster set up, make sure you have it configured on your machine for kubectl (so kubectl config get-contexts contains an entry for your Azure cluster and it is properly configured and accessible - please follow Azure Kubernetes configuration documentation for that).
Once Azure cluster is configured on your machine, it will appear in Cloud Code - you can use the Kubernetes Explorer, develop and debug on it just like with GKE or any other Kubernetes cluster of you choosing.

How to setup communication between ASP.NET CORE Web and WebAPI containers for AKS and Helm

I have two projects, one in ASP.NET Core MVC in one container, the other in ASP.NET Core WebAPI in a separate container, both are using Azure Kubernetes Service and Helm.
The MVC project makes calls to the WebAPI project. It works locally by using localhost.
My question is how to set it up so that it works on AKS and accepts public request.
You can read this document which shows you the network in Kubernetes that communicate be between containers in the same pod, or in the same node but different pods, or in the different pods and different nodes. And Kubernetes usually use the service for each deployment to communicate between pods.
It's simple to achieve. You just need to create two images for your applications and use the images to create the deployment. Make sure what is the service for each deployment. In your code, when you want to connect to another pod of the deployment, you can directly connect it with the service of the deployment.
Here I show you a simple plan:
deployment: frontend -> ASP.NET Core MVC, service: frontend-service
deployment: backend -> ASP.NET Core WebAPI, service: backend-service
Within the frontend container, you can connect the backend container like this, I just use the shell command to make the example:
curl http://backend-service
It means you just need to connect the container you expect with its service.
Helm just use the chart to manage all the things for you.

jhipster microservice gateway with multi-cluster ingress

I have a jhipster generated microservice gateway and application that I run in Google's GKE by using the jhipster kubernetes generator. I have istio deployed in the kubernetes cluster and not using the jhipster-registry.
When I deploy the gateway with ServiceType=Ingress, the communication between the gateway and the application works great. I am trying to get up a GKE multi-cluster ingress which load balances the application deployed in clusters in different regions.
Google has a beta tool called kubemci which sets up all the plumbing for the load balancers. However, in order to use kubemci, the gateway needs to be deployed as a NodePort instead of ClusterIP. When I deploy with ServiceType=NodePort, I get errors when trying to create entities.
The error is:
translation-not-found[Http failure response for http://store.xxxx.com/product04/api/products?page=0&size=20&sort=id,asc: 404 Not Found]
I do not get this error when the app is deployed as a ClusterIP and I access it through the istio ingress gateway. Does anyone know what I need to do get the microservices to talk to the gateway when its defined as a NodePort?

Resources