-
Notifications
You must be signed in to change notification settings - Fork 5
/
manifest-vds.yml
134 lines (129 loc) · 2.8 KB
/
manifest-vds.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: proxy-inject
spec:
fsGroup:
rule: MustRunAs
ranges:
- min: 1
max: 65535
privileged: false
runAsUser:
rule: MustRunAsNonRoot
seLinux:
rule: RunAsAny
supplementalGroups:
rule: MustRunAs
ranges:
- min: 1
max: 65535
hostNetwork: true
volumes:
- '*'
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: internal-kubectl
namespace: ${DEPLOY_NS}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: proxy-inject
rules:
- apiGroups: ["","vmoperator.vmware.com"]
resources:
- virtualmachines
- secrets
verbs:
- get
- list
- apiGroups: ['policy']
resources: ['podsecuritypolicies']
verbs: ['use']
resourceNames:
- proxy-inject
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: proxy-kubectl
namespace: ${DEPLOY_NS}
subjects:
- kind: ServiceAccount
name: internal-kubectl
roleRef:
kind: ClusterRole
name: proxy-inject
apiGroup: rbac.authorization.k8s.io
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: proxy-inject
namespace: ${DEPLOY_NS}
labels:
app: proxy-inject
spec:
replicas: 1
selector:
matchLabels:
app: proxy-inject
template:
metadata:
labels:
app: proxy-inject
spec:
serviceAccountName: internal-kubectl
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- image: localhost:5000/vmware/proxy-inject:1.3.0
imagePullPolicy: Always
name: proxy-inject
env:
- name: TKC_HTTP_PROXY
value: "${TKC_HTTP_PROXY}"
- name: TKC_HTTPS_PROXY
value: "${TKC_HTTPS_PROXY}"
- name: TKC_NO_PROXY
value: "${TKC_NO_PROXY}"
- name: REG_CERT
value: "${REG_CERT}"
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "256Mi"
cpu: "500m"
volumeMounts:
- mountPath: /tmp
name: tmp
volumes:
- emptyDir: {}
name: tmp
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
nodeSelector:
node-role.kubernetes.io/master: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
- key: CriticalAddonsOnly
operator: Exists
- effect: NoExecute
key: node.alpha.kubernetes.io/notReady
operator: Exists
- effect: NoExecute
key: node.alpha.kubernetes.io/unreachable
operator: Exists
- effect: NoSchedule
key: kubeadmNode
operator: Equal
value: master