Commit 7a867859 authored by Darren Shepherd's avatar Darren Shepherd

Update README

parent 1d230f28
# Kubernetes # Kubernetes
[![GoDoc Widget]][GoDoc] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/569/badge)](https://bestpractices.coreinfrastructure.org/projects/569)
<img src="https://github.com/kubernetes/kubernetes/raw/master/logo/logo.png" width="100"> <img src="https://github.com/kubernetes/kubernetes/raw/master/logo/logo.png" width="100">
---- ----
Kubernetes is an open source system for managing [containerized applications] Kubernetes without the features I don't care about.
across multiple hosts; providing basic mechanisms for deployment, maintenance,
and scaling of applications. Some of the removed features
Kubernetes builds upon a decade and a half of experience at Google running * OpenAPI/Swagger
production workloads at scale using a system called [Borg], * cloud-controller-manager
combined with best-of-breed ideas and practices from the community. * kube aggregation
* APIs (NOTE: most of these are old APIs that have been replaced)
Kubernetes is hosted by the Cloud Native Computing Foundation ([CNCF]). * admissionregistration/v1alpha1
If you are a company that wants to help shape the evolution of * authentication/v1beta1
technologies that are container-packaged, dynamically-scheduled * authorization/v1beta1
and microservices-oriented, consider joining the CNCF. * certificates/v1beta1
For details about who's involved and how Kubernetes plays a role, * events/v1beta1
read the CNCF [announcement]. * imagepolicy/v1alpha1
* rbac/v1alpha1
---- * rbac/v1beta1
* settings/v1alpha1
## To start using Kubernetes * storage/v1alpha1
* Authentication
See our documentation on [kubernetes.io]. * bootstrap token
* oidc
Try our [interactive tutorial]. * webhook
* Authorization
Take a free course on [Scalable Microservices with Kubernetes]. * ABAC
* Cloud Providers (all of them)
## To start developing Kubernetes * Controllers
* Bootstrap
* Certificates
* Cloud
* Cluster Role Aggregation
* Cloud based node IPAM
* Replication
* Route
* Credential Providers AWS/GCP/Azure/Rancher
* Kubelet
* Device Plugin
* Certificates
* Checkpoint
* Device Manager
* Custom Metrics
* Dockershim
* GPU
* Mount Pod
* Network
* Hairpin
* Kubenet
* rkt
* Volume Drivers
* aws_ebs
* azure_dd
* azure_file
* cephfs
* cinder
* fc
* flocker
* gce_pd
* glusterfs
* iscsi
* photon_pd
* portworx
* quobyte
* rbd
* scaleio
* storageos
* vsphere_volume
* Admission Controllers
* admin
* alwayspullimages
* antiaffinity
* defaulttolerationseconds
* deny
* eventratelimit
* exec
* extendedresourcetoleration
* gc
* imagepolicy
* initialreosurces
* limitranger
* namespace
* noderestriction
* persistentvolume
* podnodeselector
* podpreset
* podtolerationrestriction
* priority
* resourcequota
* security
* securitycontext
* storageobjectinuseprotection
* etcd (yeah, i'm using sqlite3)
Build
-----
# First have sane GOPATH, hopefully you know how to do that
go build -o k3s
go build -o kubectl ./cmd/kubectl
Run
---
Run containerd
```bash
# Download and install containerd and runc
sudo curl -fL -o /usr/local/bin/runc https://github.com/opencontainers/runc/releases/download/v1.0.0-rc5/runc.amd64
sudo chmod +x /usr/local/bin/runc
curl -fsL https://github.com/containerd/containerd/releases/download/v1.1.1/containerd-1.1.1.linux-amd64.tar.gz | sudo tar xvf /usr/src/containerd.tgz -C /usr/local/bin bin/ --strip-components=1
# Some CNI
sudo mkdir -p /opt/cni/bin
curl -fsL https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz | sudo tar xvzf - -C /opt/cni/bin ./loopback
sudo containerd &
```
The [community repository] hosts all information about Run Kubernetes
building Kubernetes from source, how to contribute code
and documentation, who to contact about what, etc.
If you want to build Kubernetes right away there are two options: ```bash
# Server
./k3s
##### You have a working [Go environment]. # Agent (If doing this on another host copy the ./data folder)
sudo ./k3s agent
``` # Install Networking
$ go get -d k8s.io/kubernetes export KUBECONFIG=./data/cred/kubeconfig.yaml
$ cd $GOPATH/src/k8s.io/kubernetes curl -s "https://cloud.weave.works/k8s/net?k8s-version=$(./kubectl version | base64 | tr -d '\n')" | sed 's!rbac.authorization.k8s.io/v1beta1!rbac.authorization.k8s.io/v1!g' | ./kubectl apply -f -
$ make
``` ```
##### You have a working [Docker environment]. Your kubeconfig file is in `./data/cred/kubeconfig.yaml`
```
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make quick-release
```
For the full story, head over to the [developer's documentation]. Enjoy.
## Support
If you need support, start with the [troubleshooting guide],
and work your way through the process that we've outlined.
That said, if you have questions, reach out to us
[one way or another][communication].
[announcement]: https://cncf.io/news/announcement/2015/07/new-cloud-native-computing-foundation-drive-alignment-among-container
[Borg]: https://research.google.com/pubs/pub43438.html
[CNCF]: https://www.cncf.io/about
[communication]: https://git.k8s.io/community/communication
[community repository]: https://git.k8s.io/community
[containerized applications]: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
[developer's documentation]: https://git.k8s.io/community/contributors/devel#readme
[Docker environment]: https://docs.docker.com/engine
[Go environment]: https://golang.org/doc/install
[GoDoc]: https://godoc.org/k8s.io/kubernetes
[GoDoc Widget]: https://godoc.org/k8s.io/kubernetes?status.svg
[interactive tutorial]: https://kubernetes.io/docs/tutorials/kubernetes-basics
[kubernetes.io]: https://kubernetes.io
[Scalable Microservices with Kubernetes]: https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615
[troubleshooting guide]: https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/README.md?pixel)]()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment