Skip to content

Commit 306c786

Browse files
PushkarJTim Bannister
and
Tim Bannister
committed
Added info about cosigned and why we need cosign in experimental mode
Updates based on PR review Apply suggestions from code review Co-authored-by: Tim Bannister <[email protected]>
1 parent 9a7a330 commit 306c786

File tree

2 files changed

+38
-14
lines changed

2 files changed

+38
-14
lines changed
Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,43 @@
11
---
22
title: Verify Signed Container Images
3-
4-
reviewers:
5-
- TBD
6-
7-
content_type: task
3+
content_type: task
84
min-kubernetes-server-version: v1.24
95
---
106

117
<!-- overview -->
128

139
{{< feature-state state="alpha" for_k8s_version="v1.24" >}}
14-
## Pre-requisites
15-
- [cosign](https://docs.sigstore.dev/cosign/installation/)
10+
11+
## {{% heading "prerequisites" %}}
12+
13+
These instructions are for Kubernetes {{< skew currentVersion >}}. If you want to check the
14+
integrity of components for a different version of Kubernetes, check the documentation for
15+
that Kubernetes release.
16+
17+
You will need to have the following tools installed:
18+
- `cosign` ([install guide](https://docs.sigstore.dev/cosign/installation/))
19+
- Go compiler ([install guide](https://go.dev/doc/install)
20+
- `curl` (often provided by your operating system)
1621

1722
## Verifying image signatures
18-
For a complete list of images that are signed please refer to [releases](/releases/download/) page.
23+
For a complete list of images that are signed please refer to [Releases](/releases/download/).
1924

20-
Let's pick one image from this list and verify its signature using `cosign verify` command.
25+
Let's pick one image from this list and verify its signature
26+
using `cosign verify` command:
2127

2228
```shell
2329
COSIGN_EXPERIMENTAL=1 cosign verify k8s.gcr.io/kube-apiserver-amd64:v1.24.0
2430
```
25-
### All control plane images
2631

27-
To verify all signed control plane images, please run this command
32+
{{% alert title="Note" %}}
33+
`COSIGN_EXPERIMENTAL=1` is used to allow verification of images signed
34+
in `KEYLESS` mode. To learn more about keyless signing, please refer to
35+
[Keyless Signatures](https://github.com/sigstore/cosign/blob/main/KEYLESS.md#keyless-signatures).
36+
{{% /alert %}}
37+
38+
### Verifying images for all control plane components
39+
40+
To verify all signed control plane images, please run this command:
2841

2942
```shell
3043
curl https://kubernetes.io/examples/admin/signed-images/auto-generated-list-of-all-signed-images.txt --output auto-generated-list-of-all-signed-images.txt
@@ -33,4 +46,14 @@ while IFS= read -r image
3346
do
3447
COSIGN_EXPERIMENTAL=1 cosign verify "$image"
3548
done < "$input"
36-
```
49+
```
50+
51+
## Verifying Image Signatures with Admission Controller
52+
53+
For non-control plane images (e.g. kube-conformance), image signatures can also
54+
be verified, at deploy time using
55+
[cosigned](https://docs.sigstore.dev/cosign/kubernetes/#cosigned-admission-controller)
56+
admission controller. To get started on `cosigned` here are a few helpful resources:
57+
58+
* [Installation](https://github.com/sigstore/helm-charts/tree/main/charts/cosigned)
59+
* [Configuration Options](https://github.com/sigstore/cosign/tree/main/config)

content/en/releases/download.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Download Kubernetes
33
type: docs
44
---
55

6-
## Core Kubernetes components
6+
# Core Kubernetes components
77

88
Kubernetes ships binaries for each component as well as a standard set of client
99
applications to bootstrap or interact with a cluster. Components like the
@@ -74,8 +74,9 @@ those derivations are signed in the same way as the multi-architecture manifest
7474

7575
Full list of images that are signed can be found [here](/examples/admin/signed-images/auto-generated-list-of-all-signed-images.txt)
7676

77-
To verify signed container images within a Kubernetes cluster, please refer to
77+
To manually verify signed container images of Kubernetes core components, please refer to
7878
[the corresponding cluster administration documentation](/docs/tasks/administer-cluster/verify-signed-images).
79+
Once verified, please use the same image digest of verified images to spin up your Kubernetes cluster.
7980

8081
## Binaries
8182

0 commit comments

Comments
 (0)