loading...

Kubernetes – Kubernetes SIGs, Incubation Projects, and the CNCF

In this chapter, we’re going to discuss how to get involved in the softer, social side of the Kubernetes ecosystem. We’ll go into detail on how the Cloud Native Computing Foundation (CNCF) works, and the various efforts being made to orchestrate open source software at a global level. There’s interest in our ecosystem at every level, from the individual contributor all the way up to the Fortune 100 mega-corporation.

We’ll explore how the CNCF and its predecessors, the Linux and Apache Foundations, guide interest and contributions into the people and software economy. Some of the key areas will manage governance, tracking, and processes that are designed to keep people, process, and technology evolving in a sustainable, reliable model. In this chapter, we’ll explore several key areas:

  • How is the community around the Kubernetes ecosystem constructed? How is it different from the traditional Free and Open Source Software (FOSS) or Open Source Software (OSS) movements?
  • How can you get involved with the discussion in order to understand and participate in the evolution of the ecosystem?
  • What are the major projects, and how are they categorized?
  • How can you chose the right tools for the job, given all of the change?
  • How can you get involved with open source software in general?

Setting up Git for contributions

Type the following command, using your email address in place of mine:

$ ssh-keygen -t rsa -b 4096 -C "jesse@gsw-k8s-3rd.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/jesse/.ssh/id_rsa):
Created directory '/c/Users/jesse/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/jesse/.ssh/id_rsa.
Your public key has been saved in /c/Users/jesse/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AtDI+/yPNxi8y6WzdTecvd6U/ir6Q8pBtg0dv/ZhHlY jesse@gsw-k8s-3rd.com
The key's randomart image is:
+---[RSA 4096]----+
| ..o             |
|  o..       . |
|   ..    . o |
|  . .    + . . E|
|   o .. So +   ..|
|    o o. o.ooo=.|
|     . +o..+=.=o+|
|     .==o.o.o..=.|
|      **...o.++o+|
+----[SHA256]-----+
$ ~/Documents/Code

This will generate a key pair that you can add to your ssh-agent. You can also use GitHub Desktop if you’d prefer to avoid SSH keys, but we would recommend that you use native CLI tools.

Ensure that the agent is running with the following command:

$ eval $(ssh-agent -s)
Agent pid 11684

You can then add your key to the agent as follows:

$ ssh-add ~/.ssh/id_rsa
Identity added: /c/Users/jesse/.ssh/id_rsa (/c/Users/jesse/.ssh/id_rsa)
We won’t go over the instructions in detail here, but you can find the macOS and Linux instructions here https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/.

Next up, we’ll add your public key to your GitHub account so we can get going with the rest of the chapter. Navigate to https://github.com, click on your profile, and bring up your Settings page:

Then, we’ll click on SSH and GPG keys and add in the key that you created on your machine:

Click New SSH key and then add your generated id_rsa.pub key. Importantly, do not add your id_rsa key, as that’s private and should be kept safe and offline!

You can copy your public SSH key to your clipboard with the following command in Windows:

$ clip < ~/.ssh/id_rsa.pub

You can test it out once you’ve configured it with this command:

$ ssh -vT git@github.com
OpenSSH_7.7p1, OpenSSL 1.0.2o 27 Mar 2018
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to github.com [192.30.253.113] port 22.
debug1: Connection established.
….SNIP...
Hi anonymuse! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3328, received 2048 bytes, in 0.1 seconds
Bytes per second: sent 36660.1, received 22560.1
debug1: Exit status 1

If you see a message welcoming you by your username, you’re all set!

Git’s benefits

Once you have your keys, add them to your GitHub account in order to accomplish two important things:

  • Forking, pull requests, and contributions: You’ll be able to create private forks and pull requests using your own repositories, which allows you to begin contributing to the projects in the container ecosystem. You’ll need the SSH key and the aforementioned programs in order to interact with Git, which is the underlying technology that powers this collaboration. There’s a similar setup for GitLab and Bitbucket, but GitHub is currently the most popular tool and happens to be where all of the CNCF projects reside.
  • Digital chain of custody: You’ll be able to sign your commits. In order to participate in many of the cutting-edge Kubernetes ecosystem projects, you’ll need to digitally sign your commits such that they’re able to be attributed back to you. Many of the technologies that we’ve touched on in these books are used to power large infrastructure at the world’s most advanced companies, and it’s important for OSS to establish a strong chain of custody for highly distributed code development. The fingerprint of SSL and your machine is an essential piece of authentication and authorization.

Comments are closed.

loading...