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.