You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: chapters/cluster_setup_kubespray.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Kubernetes - Cluster Setup using Kubespray
1
+
# High Available Kubernetes Cluster Setup using Kubespray
2
2
3
3
Kubespray is an *Ansible* based kubernetes provisioner. It helps us to setup a production grade, highly available and highly scalable Kubernetes cluster.
Copy file name to clipboardExpand all lines: chapters/configuring_authentication_and_authorization.md
+42-58Lines changed: 42 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,48 +33,6 @@ When a request tries to contact the API , it goes through various stages as illu
33
33
<sub>[source: official kubernetes site](https://kubernetes.io/docs/home/)</sub>
34
34
35
35
36
-
### Stage 1: Authentication
37
-
38
-
* Authentication operation checks whether the *user/service account* has the permission to talk to the api server or not.
39
-
* Authentication is done by the authentication modules which are configured with the api server.
40
-
* Cluster uses with one or more authentication modules enabled.
41
-
* If the request fails to authenticate itself, it will be served with **401 error**.
42
-
43
-
#### Authentication for Human Users
44
-
45
-
* Kubernetes uses **usernames** for access control.
46
-
* But it neither has an api object nor stores information about users in its data store.
47
-
* Users need to be managed externally by the cluster administrator.
48
-
49
-
#### Authentication for Service Accounts
50
-
51
-
* Unlike user accounts, service accounts are managed by Kubernetes.
52
-
**service accounts* are bound to specific namespaces.
53
-
* Credentials for *service Accounts* are stored as *secrets*.
54
-
* These secrets are mounted to pods when a deployment starts using the Service Account.
55
-
56
-
### Stage 2: Authorization
57
-
58
-
* After a request successfully authenticated, it goes through the authorization process.
59
-
* In order for a request to be authorized, it must consist following attributes.
60
-
* Username of the requester(User)
61
-
* Requested action(Verb)
62
-
* The object affected(Resource)
63
-
* Authorization is done by the following modules. Each of these modules has a special purpose.
64
-
* Attribute Based Access Control(ABAC)
65
-
* Role Based Access Control(RBAC)
66
-
* Node Authorizer
67
-
* Webhook module
68
-
* If a request is failed to get authorized, it will be served with **403 error**.
69
-
* Among these modules, RBAC is the most used authorizer while,
70
-
* ABAC is used for,
71
-
* Policy based, fine grained access control
72
-
* The caveat is api server has to be restarted whenever we define a ABAC policy
73
-
* Node Authorizer is,
74
-
* Enabled in all the worker nodes
75
-
* Grants access to kubelet for some of the resources.
76
-
* We have already talked about the user in detail. Now lets focus on **verbs** and **resources**
77
-
* We will talk about RBAC in detail in the later part
78
36
79
37
## api groups and resources
80
38
@@ -95,11 +53,6 @@ When a request tries to contact the API , it goes through various stages as illu
95
53
96
54
In addition to the above apiGroups, you may see **extensions** being used in some example code snippets. Please note that **extensions** was initially created as a experiement and is been deprecated, by moving most of the matured apis to one of the groups mentioned above. [You could read this comment and the thread](https://github.com/kubernetes/kubernetes/issues/43214#issuecomment-287143011) to get clarity on this.
97
55
98
-
### Stage 3: Admission Control
99
-
* Admission control part is taken care of by the software modules that can modify/reject requests.
100
-
* Admission control is mainly used for fine-tuning access control.
101
-
* Admission control can directly act on the object being modified.
102
-
103
56
104
57
## Role Based Access Control (RBAC)
105
58
@@ -194,7 +147,9 @@ Assuming all the files are in the same directory, sign the CSR as,
0 commit comments