File tree Expand file tree Collapse file tree 6 files changed +170
-1
lines changed
Expand file tree Collapse file tree 6 files changed +170
-1
lines changed Original file line number Diff line number Diff line change 1111
1212## 1. Deploy the Ingress Controller
1313
14- 1 . Create a Secret with an SSL certificate and key for the default server of NGINX/NGINX Plus. The default server returns the Not Found page with the 404 status code for all requests for domains for which there are no Ingress rules defined.
14+ 1 . Create a Secret with an SSL certificate and key for the default server of NGINX/NGINX Plus. The default server returns the Not Found page with the 404 status code for all requests for domains for which there are no Ingress rules defined. It is recommended that you use your own certificate and key.
1515 ```
1616 $ kubectl create -f default-server-secret.yaml
1717 ```
Original file line number Diff line number Diff line change 1+ # RBAC
2+
3+ For Kubernetes clusters with enabled [ RBAC] ( https://kubernetes.io/docs/admin/authorization/rbac/ ) , follow the steps below to deploy the Ingress controller:
4+
5+ 1 . Make sure you are a cluster admin.
6+
7+ 1 . If you would like to deploy the Ingress controller in a namespace other than ` default ` , change the namespace of the service account used in the cluster role binding in ` nginx-ingress-rbac.yaml ` .
8+
9+ 1 . Create a service account, a cluster role and a cluster role binding for the Ingress controller:
10+ ```
11+ $ kubectl create -f nginx-ingress-rbac.yaml
12+ ```
13+
14+ 1 . As usual, create a secret with an SSL certificate and key for the default server of NGINX/NGINX Plus. It is recommended that you use your own certificate and key.
15+ ```
16+ $ kubectl create -f default-server-secret.yaml
17+ ```
18+
19+ 1. Deploy NGINX or NGINX Plus Ingress controller with the service account from the previous step:
20+ ```
21+ $ kubectl create -f nginx-ingress-rc.yaml
22+ ```
23+ or
24+ ```
25+ $ kubectl create -f nginx-plus-ingress-rc.yaml
26+ ```
Original file line number Diff line number Diff line change 1+ apiVersion : v1
2+ kind : Secret
3+ metadata :
4+ name : default-server-secret
5+ type : Opaque
6+ data :
7+ tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURTVENDQWpHZ0F3SUJBZ0lKQUs5L2NDNWZocDJHTUEwR0NTcUdTSWIzRFFFQkJRVUFNQ0V4SHpBZEJnTlYKQkFNVEZrNUhTVTVZU1c1bmNtVnpjME52Ym5SeWIyeHNaWEl3SGhjTk1UY3dPRE14TVRBeE16UTRXaGNOTVRndwpPRE14TVRBeE16UTRXakFoTVI4d0hRWURWUVFERXhaT1IwbE9XRWx1WjNKbGMzTkRiMjUwY205c2JHVnlNSUlCCklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF0bXhhMDhadExIaWxleWhOUWN5OUl4ankKWTBYdy9CRmZvM3duMDRsSXRoaGRxbkZ3NTZIVG1RVjIvbnEyRUxMdTNoejNjc3Urc3M5WFEzL3BrbXVwTEE5TApuaVVRZFVNcER4VlE1VFFKRW5CanJ5aXc4RWFlcEp4NUNCYVB5V3ZSZkpPb0pFSW56ZmNaYnE4OEVmQklYOHdtClFCa0xlcnFTVmRYWjBXR3FINVVQVlVZMVBqZXBqSXAyZ0NvbDRMUjM1aHRlSk9OMmZVTEF6cmRGMDBDT092WGsKUzgwRGw5eHdoUkVwVWVySGNuNXZod3BJazNkY3FNS3BxWTY2elF3dStMcFJEM3ZVWjR0eC9VYnlUdStkMkdhVwpWaG1RLy85RmtzUzVBS1d2ZXkrK3pPUTFDZTAxNzhDU0hRYXRDaWFuU2lTT3lwakZtTUZ0N1Mra25pbm9Xd0lECkFRQUJvNEdETUlHQU1CMEdBMVVkRGdRV0JCUlFUODVHRzV6a0QxV3FNSzZvOW8xWWFqUVBXVEJSQmdOVkhTTUUKU2pCSWdCUlFUODVHRzV6a0QxV3FNSzZvOW8xWWFqUVBXYUVscENNd0lURWZNQjBHQTFVRUF4TVdUa2RKVGxoSgpibWR5WlhOelEyOXVkSEp2Ykd4bGNvSUpBSzkvY0M1ZmhwMkdNQXdHQTFVZEV3UUZNQU1CQWY4d0RRWUpLb1pJCmh2Y05BUUVGQlFBRGdnRUJBSTIxcXpDN0lIYTEzblNvRkMxVFdtSUZydjQ2L2hRSFRjSFhxazRXZW16Z3VwVW8Kdmp0R05DVFlaR1VtL3RZY1FobDZvOXVJZlV5N3NlVS9OeWVCWHpOdGFiQUczQUIzanREVUJySy9xeVJ5cDZjRApIL0MzNmd5VFh3OGJxYVdOSzg0VGhYOVg2MFVFNVE2NzFUQUJMbk9paEhKUVVxTHdRc1VkdEkxRHBQb1BOOFlWCm5YQVl1RXJKWTVRckhzdHZoOFNZM2xoV3BSOWJ0eTVySldweUhIM3NDL1lHN2lFam5TUXp2LzdhK3cxTW1RQ0EKTk1wQnFvdzJKZkdveklyV2JvcFBVR2lmZ2szSjBKT24rcnA4RDRVc1lvNEo4Y3RvVk5qUFdmeU9zczB6ZWZ2aQpyUmVEUDdJOXc5THF1eERIRUhzeUpMUXN0MzNlQWlna1FBQU9zMUU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
8+ tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdG14YTA4WnRMSGlsZXloTlFjeTlJeGp5WTBYdy9CRmZvM3duMDRsSXRoaGRxbkZ3CjU2SFRtUVYyL25xMkVMTHUzaHozY3N1K3NzOVhRMy9wa211cExBOUxuaVVRZFVNcER4VlE1VFFKRW5CanJ5aXcKOEVhZXBKeDVDQmFQeVd2UmZKT29KRUluemZjWmJxODhFZkJJWDh3bVFCa0xlcnFTVmRYWjBXR3FINVVQVlVZMQpQamVwaklwMmdDb2w0TFIzNWh0ZUpPTjJmVUxBenJkRjAwQ09PdlhrUzgwRGw5eHdoUkVwVWVySGNuNXZod3BJCmszZGNxTUtwcVk2NnpRd3UrTHBSRDN2VVo0dHgvVWJ5VHUrZDJHYVdWaG1RLy85RmtzUzVBS1d2ZXkrK3pPUTEKQ2UwMTc4Q1NIUWF0Q2lhblNpU095cGpGbU1GdDdTK2tuaW5vV3dJREFRQUJBb0lCQVFDQ002UkFNd2dKRGJOTwp5OTBZY2NFdEk4a2RBZmFXY3ZBSUI3MkZSaDhYbVJ5QllxWnJMUjJSd2t6RUpXRjlXYmtUM3lqZVRuMjFzamRlCmZoVi81RWZDb3NnZC8rWlhTN0FxaTlSSlEzS1dMcEYzbTF0dW8zam5sS2J1RnV4Wm54TE9EN1dhNjN6dGpNZ2kKTUFCMzdVQTYzOE1OVE5MY3JmMTBOa1paSTVRQkpYWWNPRk1ueDJ4MXVLRkU5RHQzWUEzbE9nOWNGdmFJTFpEQQo3WTVHVDlmUXdJQS92OGRWRU1DTkNiSzI1b1dnRG90WUdZaUhiYm1hUk9DTkRpNzVQZFpkM2daQ3IxUHFPWEZHCkJaVEh1L3Q4OXMwV1QyUkpNV2ljVW5XV0oyVHhmRWU1YUQ4R0JjRzEyN0pkamxLSitWZCtHWmxvODVYYVBvdnUKTVFxek1nbUJBb0dCQU9IS1pGbzVnSVkzL0J3aElCZ2RGUytnOG1GK21JTWpxSGVMN1NFSTNYL0UzWjhJd0syUgpmTTVFRUpTZnlETFpDVkNlSS8veWhBOUF6dG9Dam12TzdjMUxJT3kwR3k5dFlJVHlYY0xQNWNBWitBTkJCRExFCitYZkx5SE9KVXBDM2o4RFRZWDF0RENiUGJ5UFZTZENUNHNKT2JrNDVZVXQ3a3pEYTVHSFpsL3hqQW9HQkFNN1UKayt6TE5zbFQ2azJaakJaZW81YUdoMUNCSVV4bzNFNVpGYUZWR2lyMSs4NVlkVDdXVEpublJ6K0l6QXBMMmRqZApPZjVlQS9wa3JVNExMeGMzVVNEYjJwczJuT1hQd1p1OWdqRTM3aml0SUFRd3BHL3FiamQ3Y1ZaR2hlUkQyK3l4ClptTWU3c1BCZEVmcldmK1REYU9lT3B4L2RRcnFyTEc2UXo1ZHlQbXBBb0dBVmsyZ0VnU01wY0RjY253TzRtaXIKWW1zb2VpK0RhQXpISmZxc0JzWjJzNUd5REVteUxDWENDSzFua1FlSjVEV2xJOVZ1ZVRSZldkMHhzNDdxbFRhaApHcWt1eW9zRklSbXpuTjF2RFRtZDNkR1BSTjhqRmF6SWxndWtjTlQ2WkNwbG5oU3QzTjFEbWNvTDl5eGRiSVk2ClZIN2FGcmhFQWpBWDBNSzZMTlNaRFhVQ2dZQlRYc3JWeTBBbFBTY1g2b25XUm9Xb1drZlhBb1lhbDdZZCtyakcKVkZoODhyUnlnNk9YRmFqQTdNSUNjVERXQWFjcFRGdGhGaUtDWHV5Z3BjOXdpMEt2ZlErTU95SlpYRHBOZmNFcAo5OEtWbyt0ZzVQNlRnaXExUUpQNTArbUtqblBxMzhOR3R5UkZVZ2grS1BjWkZ2eUxkRzlwdjlLOCtNVnR5b2ZxCmJzRmhLUUtCZ0NvcEg5Wm95MjJBNStLcnJYZmQ0VXRBcndjN0dVanFUT1hhTzgyd3FpU0hZMndPTGdkWWw0L3kKSDJEYy9EMWxmWS9GL09sckNMZDNpL0lLc0wxNG13R2dxODZRdDhxeTIwcWw4RFNyWG91TmhsQTJmL1ZUTk1SMAp2OXAwU1JrQjI2UVYyUitndnNVYk9xb1lhMlVQVkNuQW9QeTYwTXlBaVJUR3cyeTExbm9lCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
Original file line number Diff line number Diff line change 1+ apiVersion : v1
2+ kind : ServiceAccount
3+ metadata :
4+ name : nginx-ingress
5+ ---
6+ kind : ClusterRole
7+ apiVersion : rbac.authorization.k8s.io/v1beta1
8+ metadata :
9+ name : nginx-ingress
10+ rules :
11+ - apiGroups :
12+ - " "
13+ resources :
14+ - services
15+ - endpoints
16+ verbs :
17+ - list
18+ - watch
19+ - apiGroups :
20+ - " "
21+ resources :
22+ - configmaps
23+ - secrets
24+ verbs :
25+ - get
26+ - list
27+ - watch
28+ - apiGroups :
29+ - " "
30+ resources :
31+ - pods
32+ verbs :
33+ - list
34+ - apiGroups :
35+ - " "
36+ resources :
37+ - events
38+ verbs :
39+ - create
40+ - patch
41+ - apiGroups :
42+ - extensions
43+ resources :
44+ - ingresses
45+ verbs :
46+ - list
47+ - watch
48+ ---
49+ kind : ClusterRoleBinding
50+ apiVersion : rbac.authorization.k8s.io/v1beta1
51+ metadata :
52+ name : nginx-ingress
53+ subjects :
54+ - kind : ServiceAccount
55+ name : nginx-ingress
56+ namespace : default
57+ roleRef :
58+ kind : ClusterRole
59+ name : nginx-ingress
60+ apiGroup : rbac.authorization.k8s.io
Original file line number Diff line number Diff line change 1+ apiVersion : v1
2+ kind : ReplicationController
3+ metadata :
4+ name : nginx-ingress-rc
5+ labels :
6+ app : nginx-ingress
7+ spec :
8+ replicas : 1
9+ selector :
10+ app : nginx-ingress
11+ template :
12+ metadata :
13+ labels :
14+ app : nginx-ingress
15+ spec :
16+ serviceAccountName : nginx-ingress
17+ containers :
18+ - image : nginxdemos/nginx-ingress:1.0.0-beta0
19+ imagePullPolicy : Always
20+ name : nginx-ingress
21+ ports :
22+ - containerPort : 80
23+ hostPort : 80
24+ - containerPort : 443
25+ hostPort : 443
26+ env :
27+ - name : POD_NAMESPACE
28+ valueFrom :
29+ fieldRef :
30+ fieldPath : metadata.namespace
31+ # Uncomment the lines below to enable extensive logging and/or customization of
32+ # NGINX configuration with configmaps
33+ args :
34+ # - -v=3
35+ # - -nginx-configmaps=$(POD_NAMESPACE)/nginx-config
36+ - -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret
Original file line number Diff line number Diff line change 1+ apiVersion : v1
2+ kind : ReplicationController
3+ metadata :
4+ name : nginx-plus-ingress-rc
5+ labels :
6+ app : nginx-plus-ingress
7+ spec :
8+ replicas : 1
9+ selector :
10+ app : nginx-plus-ingress
11+ template :
12+ metadata :
13+ labels :
14+ app : nginx-plus-ingress
15+ spec :
16+ serviceAccountName : nginx-ingress
17+ containers :
18+ - image : nginx-plus-ingress:1.0.0-beta0
19+ imagePullPolicy : Always
20+ name : nginx-plus-ingress
21+ ports :
22+ - containerPort : 80
23+ hostPort : 80
24+ - containerPort : 443
25+ hostPort : 443
26+ - containerPort : 8080
27+ hostPort : 8080
28+ env :
29+ - name : POD_NAMESPACE
30+ valueFrom :
31+ fieldRef :
32+ fieldPath : metadata.namespace
33+ # Uncomment the lines below to enable extensive logging and/or customization of
34+ # NGINX configuration with configmaps
35+ args :
36+ - -nginx-plus
37+ # - -v=3
38+ # - -nginx-configmaps=$(POD_NAMESPACE)/nginx-config
39+ - -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret
You can’t perform that action at this time.
0 commit comments