Skip to content

Commit 02c4896

Browse files
Merge remote-tracking branch 'kubernetes/master' into sync-master
2 parents d9ffcfc + 4e04ca9 commit 02c4896

File tree

44 files changed

+583
-361
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+583
-361
lines changed

Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
## BUILD ARGS ##
1515
################################################################################
1616
# This build arg allows the specification of a custom Golang image.
17-
ARG GOLANG_IMAGE=golang:1.20.1
17+
ARG GOLANG_IMAGE=golang:1.20.3
1818

1919
# The distroless image on which the CPI manager image is built.
2020
#
2121
# Please do not use "latest". Explicit tags should be used to provide
2222
# deterministic builds. Follow what kubernetes uses to build
23-
# kube-controller-manager, for example for 1.23.x:
24-
# https://github.com/kubernetes/kubernetes/blob/release-1.24/build/common.sh#L94
25-
ARG DISTROLESS_IMAGE=k8s.gcr.io/build-image/go-runner:v2.3.1-go1.20.1-bullseye.0
23+
# kube-controller-manager, for example for 1.27.x:
24+
# https://github.com/kubernetes/kubernetes/blob/release-1.27/build/common.sh#L99
25+
ARG DISTROLESS_IMAGE=registry.k8s.io/build-image/go-runner:v2.3.1-go1.20.3-bullseye.0
2626

2727
# We use Alpine as the source for default CA certificates and some output
2828
# images
29-
ARG ALPINE_IMAGE=alpine:3.15.4
29+
ARG ALPINE_IMAGE=alpine:3.17.3
3030

3131
# cinder-csi-plugin uses Debian as a base image
3232
ARG DEBIAN_IMAGE=registry.k8s.io/build-image/debian-base:bullseye-v1.4.3

charts/cinder-csi-plugin/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
apiVersion: v1
2-
appVersion: v1.27.0-alpha.1
2+
appVersion: v1.27.1
33
description: Cinder CSI Chart for OpenStack
44
name: openstack-cinder-csi
5-
version: 2.27.0-alpha.1
5+
version: 2.28.0-alpha.2
66
home: https://github.com/kubernetes/cloud-provider-openstack
77
icon: https://github.com/kubernetes/kubernetes/blob/master/logo/logo.png
88
maintainers:

charts/cinder-csi-plugin/values.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,36 @@ csi:
88
attacher:
99
image:
1010
repository: registry.k8s.io/sig-storage/csi-attacher
11-
tag: v4.0.0
11+
tag: v4.2.0
1212
pullPolicy: IfNotPresent
1313
resources: {}
1414
extraArgs: {}
1515
provisioner:
1616
topology: "true"
1717
image:
1818
repository: registry.k8s.io/sig-storage/csi-provisioner
19-
tag: v3.4.0
19+
tag: v3.4.1
2020
pullPolicy: IfNotPresent
2121
resources: {}
2222
extraArgs: {}
2323
snapshotter:
2424
image:
2525
repository: registry.k8s.io/sig-storage/csi-snapshotter
26-
tag: v6.1.0
26+
tag: v6.2.1
2727
pullPolicy: IfNotPresent
2828
resources: {}
2929
extraArgs: {}
3030
resizer:
3131
image:
3232
repository: registry.k8s.io/sig-storage/csi-resizer
33-
tag: v1.6.0
33+
tag: v1.7.0
3434
pullPolicy: IfNotPresent
3535
resources: {}
3636
extraArgs: {}
3737
livenessprobe:
3838
image:
3939
repository: registry.k8s.io/sig-storage/livenessprobe
40-
tag: v2.8.0
40+
tag: v2.9.0
4141
pullPolicy: IfNotPresent
4242
failureThreshold: 5
4343
initialDelaySeconds: 10

charts/manila-csi-plugin/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
apiVersion: v1
2-
appVersion: v1.27.0-alpha.1
2+
appVersion: v1.27.1
33
description: Manila CSI Chart for OpenStack
44
name: openstack-manila-csi
5-
version: 2.27.0-alpha.1
5+
version: 2.28.0-alpha.2
66
home: http://github.com/kubernetes/cloud-provider-openstack
77
icon: https://github.com/kubernetes/kubernetes/blob/master/logo/logo.png
88
maintainers:

charts/openstack-cloud-controller-manager/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
apiVersion: v1
2-
appVersion: v1.27.0-alpha.1
2+
appVersion: v1.27.1
33
description: Openstack Cloud Controller Manager Helm Chart
44
icon: https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-images-prod/openstack-logo/OpenStack-Logo-Vertical.png
55
home: https://github.com/kubernetes/cloud-provider-openstack
66
name: openstack-cloud-controller-manager
7-
version: 2.27.0-alpha.1
7+
version: 2.28.0-alpha.3
88
maintainers:
99
- name: eumel8
1010

charts/openstack-cloud-controller-manager/templates/daemonset.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ spec:
9595
initContainers: {{ toYaml .Values.extraInitContainers | nindent 6 }}
9696
{{- end }}
9797
hostNetwork: true
98+
{{- if .Values.priorityClassName }}
99+
priorityClassName: {{ .Values.priorityClassName }}
100+
{{- end }}
98101
volumes:
99102
- name: cloud-config-volume
100103
secret:

charts/openstack-cloud-controller-manager/values.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ cloudConfig:
9898
blockStorage:
9999
metadata:
100100

101+
## Pod priority settings
102+
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
103+
priorityClassName:
104+
101105
# The following three volumes are required to use all OCCM controllers,
102106
# but might not be needed if you just use a specific controller
103107
# Additional volumes that should be available to the pods:

cloudbuild.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ steps:
2929
/buildx-entrypoint version
3030
3131
make push-multiarch-images \
32-
REGISTRY=gcr.io/$PROJECT_ID \
33-
VERSION=$_SHORT_TAG
32+
REGISTRY=gcr.io/$PROJECT_ID
3433
substitutions:
3534
# _GIT_TAG will be filled with a git-based tag for the image, of the form
3635
# vYYYYMMDD-hash, and can be used as a substitution

docs/barbican-kms-plugin/using-barbican-kms-plugin.md

Lines changed: 67 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,14 @@ It is recommended to read following kubernetes documents
1717
* [Encrypting Secret Data at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/#verifying-that-data-is-encrypted)
1818
* [Using a KMS provider for data encryption](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/)
1919

20+
2021
## Installation Steps
22+
2123
The following installation steps assumes that you have a Kubernetes cluster(v1.10+) running on OpenStack Cloud.
2224

23-
1. Create 256bit(32 byte) cbc key and store in barbican
25+
26+
### Create 256bit(32 byte) cbc key and store in barbican
27+
2428
```
2529
$ openstack secret order create --name k8s_key --algorithm aes --mode cbc --bit-length 256 --payload-content-type=application/octet-stream key
2630
+----------------+-----------------------------------------------------------------------+
@@ -37,7 +41,8 @@ $ openstack secret order create --name k8s_key --algorithm aes --mode cbc --bit-
3741
+----------------+----------------------------------------------------------------------+
3842
```
3943

40-
2. Get the Key Id, It is the uuid in *Secret href*
44+
### Get the Key ID, It is the **uuid** in *Secret href*
45+
4146
```
4247
$ openstack secret order get http://hostname:9311/v1/orders/e477a578-4a46-4c3f-b071-79e220207b0e
4348
+----------------+-----------------------------------------------------------------------+
@@ -54,39 +59,39 @@ $ openstack secret order get http://hostname:9311/v1/orders/e477a578-4a46-4c3f-b
5459
+----------------+-----------------------------------------------------------------------+
5560
```
5661

57-
3. Add the key-id in your cloud-config file
58-
```
62+
63+
### Add the Key ID in your cloud-config file
64+
65+
```toml
5966
[Global]
60-
username = <username>
61-
password = <password>
62-
domain-name = <domain-name>
63-
auth-url = <keystone-url>
64-
tenant-id = <project-id>
65-
region = <region>
67+
username = "<username>"
68+
password = "<password>"
69+
domain-name = "<domain-name>"
70+
auth-url = "<keystone-url>"
71+
tenant-id = "<project-id>"
72+
region = "<region>"
6673

6774
[KeyManager]
68-
key-id = <key-id>
75+
key-id = "<key-id>"
6976
```
7077

71-
4. Clone the cloud-provider-openstack repo and build the docker image for barbican-kms-plugin in architecture amd64
72-
```
73-
$ git clone https://github.com/kubernetes/cloud-provider-openstack.git $GOPATH/k8s.io/src/
74-
$ cd $GOPATH/k8s.io/src/cloud-provider-openstack/
75-
$ export ARCH=amd64
76-
$ export VERSION=latest
77-
$ make image-barbican-kms-plugin
78-
```
7978

80-
5. Run the KMS Plugin in docker container
81-
```
82-
$ docker run -d --volume=/var/lib/kms:/var/lib/kms \
83-
--volume=/etc/kubernetes:/etc/kubernetes \
84-
-e socketpath=/var/lib/kms/kms.sock \
85-
-e cloudconfig=/etc/kubernetes/cloud-config \
86-
registry.k8s.io/provider-os/barbican-kms-plugin:v1.27.0-alpha.0
79+
### Run the KMS Plugin in your cluster
80+
81+
This will provide a socket at `/var/lib/kms/kms.sock` on each of the control
82+
plane node
8783
```
88-
6. Create /etc/kubernetes/encryption-config.yaml
84+
kubectl apply -f https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/master/manifests/barbican-kms/ds.yaml
8985
```
86+
*recommendation:* Use the tag corresponding to your Kubernetes release, for
87+
example `release-1.25` for kubernetes version 1.25.
88+
89+
90+
### Create encrytion configuration
91+
92+
Create `/etc/kubernetes/encryption-config.yaml` on each of your control plane
93+
nodes
94+
```yaml
9095
kind: EncryptionConfig
9196
apiVersion: v1
9297
resources:
@@ -98,12 +103,44 @@ resources:
98103
endpoint: unix:///var/lib/kms/kms.sock
99104
cachesize: 100
100105
- identity: {}
101-
```
102-
7. Enable --experimental-encryption-provider-config flag in kube-apiserver and restart it.
103106
```
104-
--experimental-encryption-provider-config=/etc/kubernetes/encryption-config.yaml
107+
108+
109+
### Update the API server
110+
111+
On each of your control plane nodes you need to edit the kube-apiserver, the
112+
configuration is usually found at
113+
`/etc/kubernetes/manifests/kube-apiserver.yaml`. You can just edit it and
114+
kubernetes will eventually restart the pod with the new configuration.
115+
116+
Add the following volumes and volume mounts to the `kube-apiserver.yaml`
117+
```yaml
118+
spec:
119+
containers:
120+
- command:
121+
- kube-apiserver
122+
- --encryption-provider-config=/etc/kubernetes/encryption-config.yaml
123+
...
124+
volumeMounts:
125+
- mountPath: /var/lib/kms/kms.sock
126+
name: kms-sock
127+
- mountPath: /etc/kubernetes/encryption.yaml
128+
name: encryption-config
129+
readOnly: true
130+
...
131+
volumes:
132+
- hostPath:
133+
path: /var/lib/kms/kms.sock
134+
type: Socket
135+
name: kms-sock
136+
- hostPath:
137+
path: /etc/kubernetes/encryption.yaml
138+
type: File
139+
name: encryption-config
140+
...
105141
```
106142

143+
107144
### Verify
108145
[Verify the secret data is encrypted](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/#verifying-that-data-is-encrypted
109146
)

docs/keystone-auth/using-keystone-webhook-authenticator-and-authorizer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ it as a service. There are several things we need to notice in the
252252
deployment manifest:
253253

254254
- We are using image
255-
`registry.k8s.io/provider-os/k8s-keystone-auth:v1.27.0-alpha.0`
255+
`registry.k8s.io/provider-os/k8s-keystone-auth:v1.27.1`
256256
- We use `k8s-auth-policy` configmap created above.
257257
- The pod uses service account `keystone-auth` created above.
258258
- We use `keystone-auth-certs` secret created above to inject the

0 commit comments

Comments
 (0)