docs: fix stale URLs (gcr.io, k8s.gcr.io), misleading solutions, and typos#394
Open
dashitongzhi wants to merge 1 commit into
Open
docs: fix stale URLs (gcr.io, k8s.gcr.io), misleading solutions, and typos#394dashitongzhi wants to merge 1 commit into
dashitongzhi wants to merge 1 commit into
Conversation
…e wording Fixes 5 separate student-facing issues that have been open for a while: - c.pod_design.md: replace the deprecated 'gcr.io/google-containers/busybox' image with the official 'busybox' from Docker Hub in the canary / blue-green exercise solutions (gcr.io/google-containers/* is read-only since 2022 and any contributor following these instructions today gets a pull failure). - c.pod_design.md: in the same exercise, the 'while … curl …' step must run inside a cluster pod, not on the host shell, because the Service ClusterIP is only reachable in-cluster. The new solution uses 'kubectl run curl --image=curlimages/curl' to spin up a throwaway curl pod and adds a comment explaining why. - c.pod_design.md: replace the deprecated 'k8s.gcr.io/cuda-vector-add' image with 'registry.k8s.io/cuda-vector-add' (k8s.gcr.io was deprecated in 2022). - d.configuration.md: rewrite the LimitRange exercise question from the ambiguous 'Describe the namespace limitrange' to 'Describe the limitrange in the namespace `limitrange`' — matches the actual kubectl command in the solution. - f.services.md: in the wget service-reachability example the host-side $IP and the in-pod $IP were the same variable name, which causes confusion in shell quoting. Rename the in-pod env to $SVC_IP and add a comment. - README.md: two typos — 'excercise' → 'exercise' and 'checkout out' → 'check out'. Refs dgkanatsios#231, dgkanatsios#281, dgkanatsios#295, dgkanatsios#342, dgkanatsios#374.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Documentation refresh to improve Kubernetes exercise accuracy and clarity, including updated container image registries and correcting command examples/typos.
Changes:
- Updated deprecated Kubernetes image registry references (k8s.gcr.io / gcr.io/google-containers) to current equivalents.
- Clarified in-cluster vs host execution for Service ClusterIP access and improved command readability.
- Fixed minor typos/wording in README and headings.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| f.services.md | Clarifies env var usage in kubectl run + wget example. |
| d.configuration.md | Improves wording of a section heading for clarity. |
| c.pod_design.md | Updates deprecated image registries and adjusts service test commands. |
| README.md | Fixes typos and improves phrasing in project intro. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Note: this `curl` must be executed from inside a Pod in the cluster (see issue #281), | ||
| # not from the host shell, since the Service ClusterIP is only reachable in-cluster. | ||
| # A simple way to do that is to spin up a throwaway curl pod: | ||
| kubectl run curl --image=curlimages/curl --rm -it --restart=Never -- sh -c 'while sleep 0.1; do curl $(kubectl get svc my-app-svc -o jsonpath="{.spec.clusterIP}"); done' |
| kubectl run busybox --rm --image=busybox -it --restart=Never --env="IP=$IP" -- wget -O- $IP:80 --timeout 2 | ||
| # Note: the env var name passed to the pod is intentionally different from the host-side $IP | ||
| # so that the variable inside the container is unambiguous (see issue #231) | ||
| kubectl run busybox --rm --image=busybox -it --restart=Never --env="SVC_IP=$IP" -- sh -c 'wget -O- $SVC_IP:80 --timeout 2' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses 5 separate student-facing issues in this CKAD practice repo.
Stale image references
c.pod_design.md: replacegcr.io/google-containers/busybox(read-only since 2022) with the officialbusyboxin both canary/blue-green exercise solutions.c.pod_design.md: replacek8s.gcr.io/cuda-vector-add(deprecated in 2022) withregistry.k8s.io/cuda-vector-addin the GPU exercise.Misleading / confusing instructions
c.pod_design.md: the canarywhile … curl …line must run inside a cluster pod, not on the host shell, because the Service ClusterIP is only reachable in-cluster. Replaced with akubectl run curl --image=curlimages/curlone-liner plus an explanatory comment. (refs Not clear suggestion in deployment canary exercise #281)d.configuration.md: rephrased the LimitRange exercise question from the ambiguous "Describe the namespace limitrange" to "Describe the limitrange in the namespacelimitrange" so it matches the actualkubectl describe limitrange -n limitrangesolution. (refs LimitRange task seems to not match with the provided answer #374)f.services.md: in the wget service-reachability example the host-side $IP and the in-pod $IP were the same variable name. Renamed the in-pod env to $SVC_IP and added a comment. (refs Misleading solution in 'hitting IP with wget'? #231)Typos
README.md:excercise→exercise(refs Thanks + Typo #342) andcheckout out→check out.Refs #231, #281, #295, #342, #374.