cheng029 发表于 2018-9-15 13:31:04

kubernetes之Ingress部署

cat nginx-ingress-controller-rbac.yml  
#apiVersion: v1
  
#kind: Namespace
  
#metadata:#这里是创建一个namespace,因为此namespace早有了就不用再创建了
  
#name: kube-system
  
---
  
apiVersion: v1
  
kind: ServiceAccount
  
metadata:
  
name: nginx-ingress-serviceaccount #创建一个serveerAcount
  
namespace: kube-system
  
---
  
apiVersion: rbac.authorization.k8s.io/v1beta1
  
kind: ClusterRole
  
metadata:
  
name: nginx-ingress-clusterrole   #这个ServiceAcount所绑定的集群角色
  
rules:
  
- apiGroups:
  
      - ""
  
    resources:    #此集群角色的权限,它能操作的API资源
  
      - configmaps
  
      - endpoints
  
      - nodes
  
      - pods
  
      - secrets
  
    verbs:
  
      - list
  
      - watch
  
- apiGroups:
  
      - ""
  
    resources:
  
      - nodes
  
    verbs:
  
      - get
  
- apiGroups:
  
      - ""
  
    resources:
  
      - services
  
    verbs:
  
      - get
  
      - list
  
      - watch
  
- apiGroups:
  
      - "extensions"
  
    resources:
  
      - ingresses
  
    verbs:
  
      - get
  
      - list
  
      - watch
  
- apiGroups:
  
      - ""
  
    resources:
  
      - events
  
    verbs:
  
      - create
  
      - patch
  
- apiGroups:
  
      - "extensions"
  
    resources:
  
      - ingresses/status
  
    verbs:
  
      - update
  
---
  
apiVersion: rbac.authorization.k8s.io/v1beta1
  
kind: Role
  
metadata:
  
name: nginx-ingress-role#这是一个角色,而非集群角色
  
namespace: kube-system
  
rules:#角色的权限
  
- apiGroups:
  
      - ""
  
    resources:
  
      - configmaps
  
      - pods
  
      - secrets
  
      - namespaces
  
    verbs:
  
      - get
  
- apiGroups:
  
      - ""
  
    resources:
  
      - configmaps
  
    resourceNames:
  
      # Defaults to "-"
  
      # Here: "-"
  
      # This has to be adapted if you change either parameter
  
      # when launching the nginx-ingress-controller.
  
      - "ingress-controller-leader-nginx"
  
    verbs:
  
      - get
  
      - update
  
- apiGroups:
  
      - ""
  
    resources:
  
      - configmaps
  
    verbs:
  
      - create
  
- apiGroups:
  
      - ""
  
    resources:
  
      - endpoints
  
    verbs:
  
      - get
  
      - create
  
      - update
  
---
  
apiVersion: rbac.authorization.k8s.io/v1beta1
  
kind: RoleBinding       #角色绑定
  
metadata:
  
name: nginx-ingress-role-nisa-binding
  
namespace: kube-system
  
roleRef:
  
apiGroup: rbac.authorization.k8s.io
  
kind: Role
  
name: nginx-ingress-role
  
subjects:
  
- kind: ServiceAccount
  
    name: nginx-ingress-serviceaccount #绑定在这个用户
  
    namespace: kube-system
  
---
  
apiVersion: rbac.authorization.k8s.io/v1beta1
  
kind: ClusterRoleBinding      #集群绑定
  
metadata:
  
name: nginx-ingress-clusterrole-nisa-binding
  
roleRef:
  
apiGroup: rbac.authorization.k8s.io
  
kind: ClusterRole
  
name: nginx-ingress-clusterrole
  
subjects:
  
- kind: ServiceAccount
  
    name: nginx-ingress-serviceaccount   #集群绑定到这个serviceacount
  
    namespace: kube-system   #集群角色是可以跨namespace,但是这里只指明给这个namespce来使用


页: [1]
查看完整版本: kubernetes之Ingress部署