Conf42 Cloud Native 2025 - Online

- premiere 5PM GMT

Simplifying Kubernetes Connectivity With a Powerful CLI for SRE's

Video size:

Abstract

Simplify Kubernetes connectivity with kconnect, a powerful tool that streamlines access to multiple clusters across env’s. By automating context switching and credential management reduces complexity, enhances productivity, and empowers teams to navigate Kubernetes clusters seamlessly & securely.

Summary

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hello everyone. and thank you for joining today. I'm excited to, introduce kConnect, which is like a powerful Kubernetes connect manager tool, for the CLI. And that simplifies, cluster authentication and access, managing across multiple environments. So as you all know, Kubernetes is a powerful orchestration tool. But accessing like clusters securely across multiple, Cloud providers, right? Especially like EKS, would be like, I think, it would be, it would take like a lot of time, like connecting to each cluster because you have to switch context and also you have to, get your context, the config file and upload, and connect to the cluster accordingly. So KConnect, which is like an open source, is like, designed to, remove those barriers, making Cluster discovery and authentication like, seamless. And throughout the session, I will walk you through KConnect core functionalities supported like a programs authentication method and how it can streamline Kubernetes. Operators, like for the DevOps teams or the SRE teams or the platform teams. So by the end of the presentation, you will have a clear understanding of, how can it enhance like productivity and also securely, connecting to the multi cloud Kubernetes environments. So let's dive in. So let me get started. so let me go back and go to the next slide. Okay. So I think, just to get introduced, right? I think, managing Kubernetes clusters across multiple, platforms can be challenging, especially, when dealing with, different authentication mechanisms and configurations. So KConnect is is to build. To solve the problem by providing the unified CLI tool that enables, users to discover and securely access Kubernetes clusters with ease, instead of manually like setting up the authentication. And the kubectl config files for each platform or each cloud provider. KConnect, automates this process, saving the time and also reducing the complexity. So the key advantage of KConnect is, the ability to automate the, the clusters. it uses like a access based authentication method like whether you are working with AWS or, EKS, Azure, or AKS or the Rancher, which is the RKS platform, KConnect simplifies, the process by dynamically generating, kube config files, ensuring seamless connectivity. So this is particularly useful for, for all the DevOps platform and the cloud engineers managing multiple environments as it enhances efficiency, and securely across different, cloud providers. So the KConnect, just to give like a glimpse, like the idea behind, the KConnect, I think, we have like almost approximately 1000 clusters in our environments with RKS and connecting to the clusters for the SRE teams, all the cloud engineer, all the platform engineers, all the DevOps engineers. It's becoming so hard because they have to switch the context, the coop files, and they have to get for each cloud provider. And I think this is KConnect is like an open source tool where you can actually try to try out yourself and which is like a powerful CLI and also open source, which anybody can use. If you have a right, set up in your environments. So doing deep diving into the authentication methods, right? one, one of the KConnect are cost and this ability to integrate with multiple, Kubernetes platforms, it supports like a EKS and also it supports like AKS, RKS and Rancher, and which are like some of the most widely used managed Kubernetes services in the enterprise environment. And also there are like a lot of authentication methods, right? securing is like a fundamental con concern when accessing Kubernetes clusters, right? And also KConnect offers multiple authentication methods. To align with your organization's, security policies So these methods include like you have you can go with the SAML Azure Active Directory AWS IAM and also rancher token based authentication ensuring That users can securely access their kubernetes environments without manually configuring, the complex authentication workflows. For example, KKNET integrates with SAML based, identity providers, through, SAML to AWS, allowing enterprise, to leverage SSO mechanism for the enhanced security. It also supports like AD, authentication, which follows like a Microsoft authentication library, like for the go to enable like seamless login to multiple environments or multiple clusters, similarly, like for AWS IAM, KConnect uses the users like AWS credentials. To authenticate against EKS cluster, or you can also follow the role based authentication model. So that the authentication options make like a kKinetic flexible and also a powerful tool for enterprise handling multi cloud, Kubernetes clusters. And let's go to the next slide on the key features. So there are like a lot of key features with the KConnect, right? And KConnect is designed like with the key features that makes Kubernetes access efficient and secure. So the first major feature is, multi method authentication, which allows, users to authenticate using SAML, like I said, like AWS IAM. Azure AD or Rancher token based, on the organization security policies. So this ensures like no matter which platform or the identity provider you use, KConnect can integrate seamlessly. So another crucial feature is automated cluster discovery. Which helps users, find available clusters across the different environments. instead of manually searching for the clusters and configuring the, kube config files, KConnect, automatically, discovers them, based upon your authentication credentials. Additionally, it also supports, kube config generation, making it easy for, to establish the, to secure connections. To Kubernetes clusters in just a few steps and this is what, for us, we use K connect for every cluster authentication, not just from CLI, not just for the troubleshooting purposes or not just for authenticating and checking the cluster health or checking the deployments, replicas or pods. We also use KConnect extensively to authenticate, from like various platforms like, Jenkins or SonarQube or whatever. So by doing this, I think we can actually, connect to the clusters, as a role based authentication, which is. So this is a secure way, for authenticating the clusters. Most of the times, we use K Connect for also for the application deployments, let's say. You have a cluster and you have, you want to deploy like, 100 applications and, we have defined, KPIs where we actually call that KPI and it deploys our application or the deployment based upon our requirements. But I think behind the scene, it also uses the KConnect, for switching the context because. We have thousand clusters and we have both on prem and also cloud. So which is, which makes, our life, easier when using kConnect. And also, finally, kConnect, connection history, like which, when you connect to a cluster, regardless of EKS, AKS and RKS, you can actually, the kube config file saves the history. that makes you unique whenever, because each cluster, you can create like a, alias where you can connect to the cluster. You don't have to, remember the whole cluster name. Let's say, I'll take an example. say you have a cluster name called application cluster, and you can, when, whenever you're trying to create the cluster, you can name that alias as application cluster. And when you connect, to the cluster, you can actually, tell K connect, connect to, K connect to, the, application cluster, it connects itself. So I'm going to deep dive into a little bit when I do the actual demo, I think I have something that I have, to show, like how to the, how to connect to the cluster and the history and everything. And, to go back, I think also what are the, what are like some of the advanced capabilities, right? So beyond like it's core features, KConnect offers advanced capabilities, that improves, usability and also like enterprise adoption. One such feature that I can think of is the history management, like I was just saying. Which allows users to regenerate the config files and, the kube config files for, from previously connected clusters using an ID or alias, like I was just saying. This means that if you frequently switch between the cluster, you don't have to go through the full authentication method and discover the process every time. You can just, can, you can connect to the cluster based upon the alias, like with a simple command kconnect, to your alias. And also, additionally, KConnect, supports, a company or, organization wide configuration defaults, enabling, each organization to establish, the standardization authentication setting for all the users. This is particularly, helpful, for teams, managing Kubernetes at scale, for any organization who have, clusters, beyond, 200 clusters. And another powerful capability is, a cross platform support. Ensuring that KConnect runs seamlessly on various operating systems. Whether you are on Linux, Mac OS, or Windows, you can, you can rely on the KConnect for consistent Kubernetes access. And, also to get started, yeah. To get started, I think, we have, I can walk through the KConnect. it is a stride for it to be honest, First, like we need to install the KConnect via the Packet Manager. Or, we can download directly from the project's GitHub and also you can install the process, which is like very well documented, once it's installed, you can configure KConnect with your preferred authentication method. After that, I think, KConnect automatically discards the available clusters in your environments. And finally, connecting the cluster is like a simple as running a single command, which generates the required kube config, file and set up your environments for immediate use and coming, I think we have a extensive documentation and, to get started, like we have a comprehensive documentation, which is like a, essential for any CLI tool. And, Kaganet provides. The detailed guides are also tutorials and references at fidelity. github. io slash kconnect. And users can find everything from installation steps and also, advanced configuration options and troubleshooting guides. And additionally, kconnect maintains like a folder called docs directory and which is in every project repository. Containing like a in depth technical details for, for the contributors and all the users who want to use or understand the internal workings, working mechanism of the tool and the project structure is all the same, like you have a, like a regular, any command line project, you have a, structure ensure that maintainability and scalability. The core, functions like resides in the, command cmd slash k connect directory, which is like a reusable models and housed in package directory pkg. and, what next, contributing. Yeah, so you can, so like I was mentioning, KConnect is like an open source, tool and you can contribute to the tool and it is an open source. You can, you can check the, the recommended guide guidelines, in the contributions. md file. Which outlines like, the standards, the coding standards, the testing requirements, and also the best practices. And, and lastly, I think, anybody can contribute and you can, the steps is you can fork the repository. You can, introduce or develop the changes. You can submit the PR and it's like same review process for any open source project. And also there are like a couple of, acknowledgments that I want to call out too is We use, SAML to AWS project, which is our identity provider functionality, which, KKNET relies heavily on, on that project, which was developed by Version. This integrates, enables, secure, SAML based authentication for accessing, Kubernetes cluster. And also you can also use Microsoft, authentication library, which also is like KKNET, draws, like used, heavily with the library, called Go. So the project, directly uses a lot of packages located in PKG slash Azure and WS Trust. And, we have used Rancher as well. And, I think, every project that we have used, we have put out clear guidelines are also like, like everything is in the readme file or like what, open source projects that we have used when we are developing the KConnect. And also, I think, which is, which we all know, I think this is an open source project and KConnect is, actually owned by FedLady and we are open to a lot of contributions as well. And I think with that said, I would like to wrap up our session, but also I want to, I wanted to, show a quick, demo as well. give me one second. Let me bring on my command prompt. Okay. Okay. So yeah, if you see here, let me run the command. Yeah, let me clear the screen. Okay. So the first step is we have to impose a shade, config, which is like an optional. the first command is like kconfigure, where you have, you have a directory and, you have a config. yaml. You're basically going to, apply that configuration. So after that, what you're going to do is let me apply that. Yeah. After that, we, if you look at here, we use kKinect, we want to, we want for the demo, I think, we can connect to the EKS and similarly we can connect to RKS and also to AKS, which is a similar process. But I think the authentication methods may change, but it is like a very similar process than other, cloud service providers. So all we have to do is we use, like I can use EKS and the protocol as SAML and basically it's going to give options, whether which identity provider that we want to use, whether we want to use Akamai or Azure AD, ADFS. Or Google, apps or ping, and I'm using Google apps and, and I paste the IDP for the point for that provider and, okay, that's it. I think it's going to sign in and I'm going to. Click yes, and yeah, if you see here, it is showing like two different accounts, with the administrator access and basically, I can, I want to connect to different clusters or different accounts. So let me connect to one cluster. Okay. So when I connected to the cluster, it's actually authenticated. It is asking to, set alias or not. And, I'm going to set alias to yes. Yeah. I'm going to set as dev and I'm going to connect to the cluster dev cluster. Okay, that's it. It is connected to the cluster and now, let me run some parts. I have some parts running here. Okay. Okay. I get parts. Okay. It is. Yeah. It's been a while. It's 27 hours. Okay. And, okay. And also we can, like I was, mentioning in the, demo, we can actually see the connection, I think K connect LF queues, all the commands and also the history that whatever connected, we can get to, and you can connect to chest. if I was mentioning, we can connect to a cluster. We don't have to enter the full cluster name. We can just, send the alias and we can run that command and it's going to, reconnect, using alias and it's going to ask for the password, your password and that's it. Boom. It has actually connected to the, let me click yes. Yep. It's connected to the cluster now. All right. I think, that's all that I have for today. And this wrap up, the session, and also thank you for your time. And if you have any questions or want to get involved, feel free to reach, reach out on GitHub or check out the documentation. Let's, continue simplifying Kubernetes access and also securing a connection together. And that's it. And thank you for everyone for attending the session.
...

Sai Sandeep Ogety

DevOps Institute Ambassador @ PeopleCert

Sai Sandeep Ogety's LinkedIn account



Join the community!

Learn for free, join the best tech learning community for a price of a pumpkin latte.

Annual
Monthly
Newsletter
$ 0 /mo

Event notifications, weekly newsletter

Delayed access to all content

Immediate access to Keynotes & Panels

Community
$ 8.34 /mo

Immediate access to all content

Courses, quizes & certificates

Community chats

Join the community (7 day free trial)