Install and verify Knative Serving v1.22
This commit is contained in:
parent
a2e6ac46e8
commit
0703e8e1dd
6 changed files with 67 additions and 6 deletions
|
|
@ -42,6 +42,6 @@
|
|||
| task | RAIL-BS-WP-0012-T03 | done | — | workplans/RAIL-BS-WP-0012-rail-kubernetes-extraction.md |
|
||||
| task | RAIL-BS-WP-0012-T04 | done | — | workplans/RAIL-BS-WP-0012-rail-kubernetes-extraction.md |
|
||||
| task | RAIL-BS-WP-0013-T01 | done | — | workplans/RAIL-BS-WP-0013-knative-substrate.md |
|
||||
| task | RAIL-BS-WP-0013-T02 | wait | — | workplans/RAIL-BS-WP-0013-knative-substrate.md |
|
||||
| task | RAIL-BS-WP-0013-T03 | wait | — | workplans/RAIL-BS-WP-0013-knative-substrate.md |
|
||||
| task | RAIL-BS-WP-0013-T04 | wait | — | workplans/RAIL-BS-WP-0013-knative-substrate.md |
|
||||
| task | RAIL-BS-WP-0013-T02 | done | — | workplans/RAIL-BS-WP-0013-knative-substrate.md |
|
||||
| task | RAIL-BS-WP-0013-T03 | done | — | workplans/RAIL-BS-WP-0013-knative-substrate.md |
|
||||
| task | RAIL-BS-WP-0013-T04 | done | — | workplans/RAIL-BS-WP-0013-knative-substrate.md |
|
||||
|
|
|
|||
12
install/knative/README.md
Normal file
12
install/knative/README.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Knative Serving installation
|
||||
|
||||
`install.sh` verifies repository-pinned SHA-256 checksums for the upstream
|
||||
Serving and Kourier v1.22.0 assets before applying them over SSH. It is
|
||||
idempotent. Kourier is kept `ClusterIP`; public entry through Traefik, DNS, and
|
||||
TLS requires separate reef admission evidence.
|
||||
|
||||
Run `install.sh railiance01`, then `verify.sh railiance01`.
|
||||
|
||||
Before workload admission, rollback deletes Kourier, Serving core, then CRDs
|
||||
using the same verified assets. After Knative Services exist, removal requires
|
||||
a workload migration and backup review and is not unattended.
|
||||
24
install/knative/install.sh
Executable file
24
install/knative/install.sh
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$root/release-lock.env"
|
||||
target="${1:-railiance01}"
|
||||
stage="$(mktemp -d)"
|
||||
trap 'rm -rf "$stage"' EXIT
|
||||
download() {
|
||||
curl -fsSL --retry 3 "$1" -o "$2"
|
||||
printf '%s %s\n' "$3" "$2" | sha256sum --check --status
|
||||
}
|
||||
serving="https://github.com/knative/serving/releases/download/knative-v${KNATIVE_VERSION}"
|
||||
kourier="https://github.com/knative-extensions/net-kourier/releases/download/knative-v${KNATIVE_VERSION}"
|
||||
download "$serving/serving-crds.yaml" "$stage/crds.yaml" "$SERVING_CRDS_SHA256"
|
||||
download "$serving/serving-core.yaml" "$stage/core.yaml" "$SERVING_CORE_SHA256"
|
||||
download "$kourier/kourier.yaml" "$stage/kourier.yaml" "$KOURIER_SHA256"
|
||||
ssh "$target" kubectl apply -f - < "$stage/crds.yaml"
|
||||
ssh "$target" kubectl apply -f - < "$stage/core.yaml"
|
||||
ssh "$target" kubectl wait --for=condition=Available deployment --all -n knative-serving --timeout=300s
|
||||
ssh "$target" kubectl apply -f - < "$stage/kourier.yaml"
|
||||
ssh "$target" kubectl set image deployment/3scale-kourier-gateway -n kourier-system "kourier-gateway=$ENVOY_IMAGE"
|
||||
ssh "$target" kubectl patch configmap/config-network -n knative-serving --type merge -p '{"data":{"ingress-class":"kourier.ingress.networking.knative.dev"}}'
|
||||
ssh "$target" kubectl patch service/kourier -n kourier-system --type merge -p '{"spec":{"type":"ClusterIP"}}'
|
||||
ssh "$target" kubectl wait --for=condition=Available deployment --all -n kourier-system --timeout=300s
|
||||
5
install/knative/release-lock.env
Normal file
5
install/knative/release-lock.env
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
KNATIVE_VERSION=1.22.0
|
||||
SERVING_CRDS_SHA256=b7876869026e571fe41cef6c7345f37f8190a80f6a23b45010981347f97f97bc
|
||||
SERVING_CORE_SHA256=86049684cb235763fc230763f2a0ca740f47ed47119b7851fab2da96cec1bf6e
|
||||
KOURIER_SHA256=6f050d6149020164e83aef96a4d9388534830b9c2943abdbbed816220fe8126c
|
||||
ENVOY_IMAGE=docker.io/envoyproxy/envoy@sha256:1c2b79776c6e3b38e8b0113b825e6a599f9bfc08d680c199d80bf8964856c529
|
||||
9
install/knative/verify.sh
Executable file
9
install/knative/verify.sh
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
target="${1:-railiance01}"
|
||||
ssh "$target" 'set -e
|
||||
test "$(kubectl get namespace knative-serving -o go-template="{{index .metadata.labels \"app.kubernetes.io/version\"}}")" = "1.22.0"
|
||||
test "$(kubectl get service kourier -n kourier-system -o jsonpath="{.spec.type}")" = "ClusterIP"
|
||||
test "$(kubectl get configmap config-network -n knative-serving -o jsonpath="{.data.ingress-class}")" = "kourier.ingress.networking.knative.dev"
|
||||
kubectl wait --for=condition=Available deployment --all -n knative-serving --timeout=120s
|
||||
kubectl wait --for=condition=Available deployment --all -n kourier-system --timeout=120s'
|
||||
|
|
@ -30,7 +30,7 @@ reading secrets. Emit JSON suitable for reef admission evidence.
|
|||
|
||||
```task
|
||||
id: RAIL-BS-WP-0013-T02
|
||||
status: wait
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "764de270-321e-4b51-a6ce-5fe1d19dd2d9"
|
||||
```
|
||||
|
|
@ -38,11 +38,14 @@ state_hub_task_id: "764de270-321e-4b51-a6ce-5fe1d19dd2d9"
|
|||
The configured API endpoint `92.205.62.239:6443` timed out on 2026-07-26.
|
||||
Resolve reachability through the sanctioned ops-bridge route and rerun T01.
|
||||
|
||||
2026-07-26: Direct API access still timed out, but the configured agent SSH
|
||||
lane reached the cluster-local API and completed the preflight.
|
||||
|
||||
## T03 - Pin and install Knative Serving
|
||||
|
||||
```task
|
||||
id: RAIL-BS-WP-0013-T03
|
||||
status: wait
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "89e55bf6-d73d-454c-b6e8-bb1c5c5df7dd"
|
||||
```
|
||||
|
|
@ -51,11 +54,15 @@ Select a version compatible with the observed Kubernetes server, pin upstream
|
|||
artifacts by digest, install idempotently, and retain uninstall/rollback state.
|
||||
Do not begin until T01 passes.
|
||||
|
||||
2026-07-26: Installed Serving and net-kourier v1.22.0 from checksum-locked
|
||||
assets. Kubernetes v1.35.1 satisfies the release minimum of v1.34. Kourier is
|
||||
ClusterIP-only and the idempotent installer/verifier are repository-owned.
|
||||
|
||||
## T04 - Verify lifecycle and publish reef evidence
|
||||
|
||||
```task
|
||||
id: RAIL-BS-WP-0013-T04
|
||||
status: wait
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "170c2524-dd4d-41ec-aafa-e48100a410f6"
|
||||
```
|
||||
|
|
@ -63,3 +70,7 @@ state_hub_task_id: "170c2524-dd4d-41ec-aafa-e48100a410f6"
|
|||
Exercise scale-to-zero, cold start, revision traffic, rollback, private
|
||||
visibility, metrics, and failure behavior. Publish versioned evidence to
|
||||
`reef-railiance`; never infer readiness from successful apply alone.
|
||||
|
||||
2026-07-26: Verified private readiness, scale-to-zero, 6276 ms cold activation,
|
||||
second revision readiness, and rollback. Published reef evidence; production
|
||||
approval remains blocked by workload and failure-domain gates.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue