@@ -52,6 +52,13 @@ include:
52
52
name = pod_name, state = " ready" , ignore_not_found = True
53
53
) % }
54
54
55
+ Ensure audit log path exist:
56
+ file .directory:
57
+ - name: / var/ log/ apiserver/
58
+ - user: root
59
+ - group: root
60
+ - mode: ' 0755'
61
+
55
62
Create kube- apiserver Pod manifest:
56
63
metalk8s.static_pod_managed:
57
64
- name: / etc/ kubernetes/ manifests/ kube- apiserver.yaml
@@ -85,19 +92,28 @@ Create kube-apiserver Pod manifest:
85
92
- kube- apiserver
86
93
- -- advertise- address={{ host }}
87
94
- -- allow- privileged=true
95
+ - -- anonymous- auth=false
96
+ - -- audit- log- maxage=30
97
+ - -- audit- log- maxbackup=10
98
+ - -- audit- log- maxsize=100
99
+ - -- audit- log- path=/ var/ log/ apiserver/ audit.log
88
100
- -- authorization- mode=Node,RBAC
89
101
- -- client- ca- file =/ etc/ kubernetes/ pki/ ca.crt
90
- - -- enable- admission- plugins=NodeRestriction
102
+ - -- disable- admission- plugins=DenyServiceExternalIPs
103
+ - -- enable- admission- plugins=NodeRestriction,AlwaysPullImages
91
104
- -- enable- bootstrap- token- auth=true
92
105
- -- etcd- cafile=/ etc/ kubernetes/ pki/ etcd/ ca.crt
93
106
- -- etcd- certfile={{ certificates.client.files[' apiserver-etcd' ].path }}
94
107
- -- etcd- keyfile=/ etc/ kubernetes/ pki/ apiserver- etcd- client.key
95
108
- -- etcd- servers={{ etcd_servers | join(" ," ) }}
109
+ - -- kubelet- certificate- authority=/ etc/ kubernetes/ pki/ ca.crt
96
110
- -- kubelet- client- certificate={{ certificates.client.files[' apiserver-kubelet' ].path }}
97
111
- -- kubelet- client- key=/ etc/ kubernetes/ pki/ apiserver- kubelet- client.key
98
112
- -- kubelet- preferred- address- types=InternalIP,ExternalIP,Hostname
113
+ - -- profiling=false
99
114
- -- proxy- client- cert- file ={{ certificates.client.files[' front-proxy' ].path }}
100
115
- -- proxy- client- key- file =/ etc/ kubernetes/ pki/ front- proxy- client.key
116
+ - -- request- timeout=300s
101
117
- -- requestheader- allowed- names=front- proxy- client
102
118
- -- requestheader- client- ca- file =/ etc/ kubernetes/ pki/ front- proxy- ca.crt
103
119
- -- requestheader- extra- headers- prefix=X- Remote- Extra-
@@ -106,9 +122,11 @@ Create kube-apiserver Pod manifest:
106
122
- -- secure- port=6443
107
123
- -- service- account- issuer=https:// kubernetes.default.svc.{{ coredns.cluster_domain }}
108
124
- -- service- account- key- file =/ etc/ kubernetes/ pki/ sa.pub
125
+ - -- service- account- lookup=true
109
126
- -- service- account- signing- key- file =/ etc/ kubernetes/ pki/ sa.key
110
127
- -- service- cluster- ip- range ={{ networks.service }}
111
128
- -- tls- cert- file ={{ certificates.server.files.apiserver.path }}
129
+ - -- tls- cipher- suites=TLS_AES_128_GCM_SHA256 ,TLS_AES_256_GCM_SHA384 ,TLS_CHACHA20_POLY1305_SHA256 ,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA ,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA ,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 ,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA ,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA ,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 ,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 ,TLS_RSA_WITH_3DES_EDE_CBC_SHA ,TLS_RSA_WITH_AES_128_CBC_SHA ,TLS_RSA_WITH_AES_128_GCM_SHA256 ,TLS_RSA_WITH_AES_256_CBC_SHA , TLS_RSA_WITH_AES_256_GCM_SHA384 .
112
130
- -- tls- private- key- file =/ etc/ kubernetes/ pki/ apiserver.key
113
131
# }
114
132
- -- bind- address={{ host }}
0 commit comments