This blog offers tips and tutorials for technical professionals in cloud computing, programming, and related fields. Whether you’re interested in Azure, IBM Cloud, Elastic, Golang, Hugo, IBM Cloud, Log Analytics or other technologies, you’ll find useful information and resources here.
Replace Traefik with Nginx ingress controller in Kubernetes
If the default ingress controller (Traefik) not ok for you ? Here are some simple instructions on how to replace it with Nginx Uninstall traefik from an existing K3S instance sudo rm -rf /var/lib/rancher/k3s/server/manifests/traefik.yaml helm uninstall traefik traefik-crd -n kube-system sudo systemctl restart k3s Or the proper way to do so on installing k3s: curl -sfL https://get.k3s.io | sh -s - --cluster-init --disable-traefik Install Nginx Ingress Controller helm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes....
Single Server Kubernetes Installation
Do you want a simple single server kubernetes that is easy to install? Here is the guide for you. Installing kubernetes First, we install k3s kuberntes using the next command: curl -sfL https://get.k3s.io | sh -s - --cluster-init --node-external-ip <external-ip> Note: Replace external-ip with your server external IP. This is needed in order to get the traefik ingress controller working. Next we should copy the k3s kubernetes configuration file /etc/rancher/k3s/k3s.yaml to the default location ~/....
Observability with Elastic APM and Flask
In out last article here , we explained how to send Docker and application logs to ELK. Now is the time to add some observability to our app using Elastic APM. Configure Elastic APM First, we add Elastic APM to our Docker Compose file from last time, using the same version as Elastic Search. apm-server: image: docker.elastic.co/apm/apm-server:7.17.24 container_name: apm-server user: apm-server ports: - "8200:8200" volumes: - ./apm-server.docker.yml:/usr/share/apm-server/apm-server.yml:ro command: > --strict.perms=false -e -E output....
AWS Lambda and CORS preflight response
Are you struggling with a frontend application that wants to use a backend AWS Lambda API ? Do you have the next CORS problem: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response The solution is simple: implement HTTP OPTIONS method respond with the next access control headers : Access-Control-Allow-Origin, Access-Control-Allow-Headers, Access-Control-Allow-Methods For example in python you can do something like this: def return_200(): return { 'statusCode': 200, 'headers': { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET,HEAD,OPTIONS,POST,PUT', 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept, Authorization', 'Content-Type': 'application/json' }, 'body': json....
Deploying docker image to AWS Fargate in GitHub
Let’s deploy a docker image to AWS ECR and further to AWS Fargate. If you don’t have docker installed, now is the time to do it. GitHub Action YML: Create a workflow named main-aws.yml, for example as: name: Deploy to Amazon ECS on: workflow_dispatch: env: AWS_REGION: eu-central-1 # set this to your preferred AWS region, e.g. us-west-1 ECS_SERVICE: test-svc # set this to your Amazon ECS service name ECS_CLUSTER: test-fargate-dev # set this to your Amazon ECS cluster name ECS_TASK_DEFINITION: ....