Kubernetes Leftovers
-
A Developer’s Guide to Kubernetes Services
Kubernetes is a tool for managing containerized applications, designed to make it easy to deploy and scale applications. It is designed to work with a variety of container technologies like Docker and containerd. In a Kubernetes cluster, your application runs in a Pod. In Kubernetes, Pods are ephemeral; they are temporary resources which are created and destroyed as needed .
When pods need to interact with other resources in a Kubernetes cluster, they can use the IP addresses provided by the cluster. However, this approach has the drawback of requiring developers to manually configure the IP addresses for each pod. Because Pods are temporary resources in a cluster, it is practically impossible to configure IP tables whenever a new Pod is created or destroyed. As a result, it is challenging for Pods to communicate with one another using IP addresses.
To solve this problem, Kubernetes has a resource called Service, which gives the Pod a stable IP address to solve this communication issue—making interaction with other Pods considerably more reliable. Services provide a way to expose applications running on a Kubernetes cluster to the outside world. They also allow for load balancing and for routing traffic to the correct application instance. Services can be exposed using a variety of methods, such as a load balancer or an Ingress resource.
In this guide, you’ll learn about Services and its types in Kubernetes, and how to define them using YAML files. By the end of the article, you’ll have a good understanding of Services in Kubernetes.
-
Kubernetes GitOps with FluxCD - Earthly Blog
Kubernetes has become the go-to tool for application deployment. However, it does not offer features for continuous integration and delivery. Continuous delivery can be particularly helpful for larger teams that host and update deployments frequently. One approach to maintaining continuous delivery for Kubernetes is GitOps.
GitOps is a software development practice that relies on a Git repository as its single source of truth. Descriptive configurations are committed to Git and then used to create continuous delivery environments. All aspects of the environment are defined via the Git repository; there are no standalone scripts or manual setups.
In this guide, you’ll learn how to configure a continuous delivery pipeline with Flux for your Kubernetes cluster. You’ll set up this pipeline imperatively by deploying the Flux Prometheus and Grafana monitoring stacks, and declaratively by deploying a ‘2048 game application’ to your Kubernetes cluster.
-
How to use Fabric8 Java Client with Kubernetes | Red Hat Developer
The last few years have seen a rise in containers-based development, with more programmers coming to understand the benefits of using containers rather than traditional VMs or just bare metal. Kubernetes arose to help scale containers for enterprise use cases and has established itself as the most popular container orchestrating platform. From the beginning of the Kubernetes project, the community of users and contributors has grown fast. As of this publication, it is one of the most popular projects on Github.
I recently read the book Programming Kubernetes, which gives an overview of programming Kubernetes with Golang. As a contributor to the Fabric8 Kubernetes Client, I was inspired to write a blog series that covers similar topics from a Java developer's perspective.
-
Programming Kubernetes custom resources in Java | Red Hat Developer
Kubernetes 1.16 introduced the concept of custom resources (CRs), allowing users to define their own Kubernetes objects that can be used in their applications. Users are now able to define these Kubernetes object structures tailored to their needs and use them like native Kubernetes resources. This makes Kubernetes much more extensible. These custom resources can be used by Kubernetes Operators to manage applications and their components.
-
Kubernetes in 2023: 7 predictions for IT leaders | The Enterprisers Project
Kubernetes is less than a decade old as an open source project, but it’s already grown up in tech years.
“Kubernetes as a base platform is quite mature,” says Gordon Haff, technology evangelist at Red Hat. “That’s not to say that change isn’t a constant in and around the platform.”
Indeed, while Kubernetes might seem like old news, the orchestration platform – and the IT pros and teams who use it – still has plenty of new tricks in store.