-
Notifications
You must be signed in to change notification settings - Fork 58
docs: add Spanish (es) locale support to the website #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for kmesh-net ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Summary of ChangesHello @arnavgogia20, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly expands the Kmesh website's internationalization capabilities by adding full Spanish language support. It integrates the new locale into the Docusaurus framework and provides a foundational set of Spanish translations across the site's main content areas, making the website accessible to a broader audience. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces Spanish (es) locale support to the Kmesh website, which is a great addition for Spanish-speaking users. The changes correctly configure Docusaurus for the new locale and add the necessary file structure. The change to set onBrokenLinks to warn is also a good practice when scaffolding a new language. However, a significant portion of the content, including UI strings in JSON files and most of the documentation markdown files, remains untranslated and is currently in English. While this might be an intentional first step, it's important to complete these translations to provide a consistent and useful experience. I've left specific comments on some of the files with untranslated or incorrect content.
| "theme.blog.authorsList.pageTitle": { | ||
| "message": "Authors", | ||
| "description": "The title of the authors page" | ||
| }, | ||
| "theme.blog.authorsList.viewAll": { | ||
| "message": "View All Authors", | ||
| "description": "The label of the link targeting the blog authors page" | ||
| }, | ||
| "theme.blog.author.noPosts": { | ||
| "message": "This author has not written any posts yet.", | ||
| "description": "The text for authors with 0 blog post" | ||
| }, | ||
| "theme.contentVisibility.unlistedBanner.title": { | ||
| "message": "Página sin clasificar", | ||
| "description": "The unlisted content banner title" | ||
| }, | ||
| "theme.contentVisibility.unlistedBanner.message": { | ||
| "message": "Esta página está sin clasificar. Los motores de búsqueda no la indexaran, y solo los usuarios con el enlace directo podrán acceder a esta.", | ||
| "description": "The unlisted content banner message" | ||
| }, | ||
| "theme.contentVisibility.draftBanner.title": { | ||
| "message": "Draft page", | ||
| "description": "The draft content banner title" | ||
| }, | ||
| "theme.contentVisibility.draftBanner.message": { | ||
| "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.", | ||
| "description": "The draft content banner message" | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Several keys in this translation file are not translated to Spanish. For example, theme.blog.authorsList.pageTitle, theme.blog.authorsList.viewAll, theme.blog.author.noPosts, theme.contentVisibility.draftBanner.title, and theme.contentVisibility.draftBanner.message still have English messages. Please translate these to provide a complete experience for Spanish-speaking users.
"theme.blog.authorsList.pageTitle": {
"message": "Autores",
"description": "The title of the authors page"
},
"theme.blog.authorsList.viewAll": {
"message": "Ver todos los autores",
"description": "The label of the link targeting the blog authors page"
},
"theme.blog.author.noPosts": {
"message": "Este autor aún no ha escrito ninguna publicación.",
"description": "The text for authors with 0 blog post"
},
"theme.contentVisibility.unlistedBanner.title": {
"message": "Página sin clasificar",
"description": "The unlisted content banner title"
},
"theme.contentVisibility.unlistedBanner.message": {
"message": "Esta página está sin clasificar. Los motores de búsqueda no la indexaran, y solo los usuarios con el enlace directo podrán acceder a esta.",
"description": "The unlisted content banner message"
},
"theme.contentVisibility.draftBanner.title": {
"message": "Página de borrador",
"description": "The draft content banner title"
},
"theme.contentVisibility.draftBanner.message": {
"message": "Esta página es un borrador. Solo será visible en desarrollo y se excluirá de la compilación de producción.",
"description": "The draft content banner message"
},| { | ||
| "version.label": { | ||
| "message": "Next", | ||
| "description": "The label for version current" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Setup": { | ||
| "message": "Setup", | ||
| "description": "The label for category Setup in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Architecture": { | ||
| "message": "Architecture", | ||
| "description": "The label for category Architecture in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Performance": { | ||
| "message": "Performance", | ||
| "description": "The label for category Performance in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Transport layer": { | ||
| "message": "Transport layer", | ||
| "description": "The label for category Transport layer in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Application Layer": { | ||
| "message": "Application Layer", | ||
| "description": "The label for category Application Layer in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Developer Guide": { | ||
| "message": "Developer Guide", | ||
| "description": "The label for category Developer Guide in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Kmeshctl Usage": { | ||
| "message": "Kmeshctl Usage", | ||
| "description": "The label for category Kmeshctl Usage in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Kmeshctl Usage.link.generated-index.description": { | ||
| "message": "Kmesh command line tools to operate and debug Kmesh", | ||
| "description": "The generated-index page description for category Kmeshctl Usage in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Kmeshctl Authz": { | ||
| "message": "Kmeshctl Authz", | ||
| "description": "The label for category Kmeshctl Authz in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Kmeshctl Authz.link.generated-index.description": { | ||
| "message": "Manage xdp authz eBPF program for Kmesh's authz offloading", | ||
| "description": "The generated-index page description for category Kmeshctl Authz in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Kmeshctl Waypoint": { | ||
| "message": "Kmeshctl Waypoint", | ||
| "description": "The label for category Kmeshctl Waypoint in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Kmeshctl Waypoint.link.generated-index.description": { | ||
| "message": "A group of commands used to manage waypoint configuration", | ||
| "description": "The generated-index page description for category Kmeshctl Waypoint in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Tests": { | ||
| "message": "Tests", | ||
| "description": "The label for category Tests in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.website": { | ||
| "message": "website", | ||
| "description": "The label for category website in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.Community": { | ||
| "message": "Community", | ||
| "description": "The label for category Community in sidebar tutorialSidebar" | ||
| }, | ||
| "sidebar.tutorialSidebar.category.kmeshctl": { | ||
| "message": "kmeshctl", | ||
| "description": "The label for category kmeshctl in sidebar tutorialSidebar" | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i18n/es/docusaurus-plugin-content-docs/current/application-layer/traffic-shifting-ads.md
Outdated
Show resolved
Hide resolved
| ## Test Service Entry Configuration | ||
|
|
||
| After configuring the Service Entry, we can verify that it works correctly through the following tests: | ||
|
|
||
| ### 1. Basic Connectivity Test | ||
|
|
||
| Test access to the virtual external service: | ||
|
|
||
| ```bash | ||
| kubectl exec deploy/sleep -- curl -s http://kmesh-fake.com/headers | ||
| ``` | ||
|
|
||
| You should see a response from the httpbin service, notice that the Host header has changed to our defined virtual hostname: | ||
|
|
||
| ```json | ||
| { | ||
| "headers": { | ||
| "Accept": "*/*", | ||
| "Host": "kmesh-fake.com", | ||
| "User-Agent": "curl/8.16.0" | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### 2. Detailed Request Information Verification | ||
|
|
||
| Get complete request information: | ||
|
|
||
| ```bash | ||
| kubectl exec deploy/sleep -- curl -s http://kmesh-fake.com/get | ||
| ``` | ||
|
|
||
| The output shows the request was successfully routed to the httpbin service: | ||
|
|
||
| ```json | ||
| { | ||
| "args": {}, | ||
| "headers": { | ||
| "Accept": "*/*", | ||
| "Host": "kmesh-fake.com", | ||
| "User-Agent": "curl/8.16.0" | ||
| }, | ||
| "origin": "10.244.1.6", | ||
| "url": "http://kmesh-fake.com/get" | ||
| } | ||
| ``` | ||
|
|
||
| ### 3. HTTP Status Code Test | ||
|
|
||
| Test different HTTP status code responses: | ||
|
|
||
| ```bash | ||
| # Test normal status code | ||
| kubectl exec deploy/sleep -- curl -s http://kmesh-fake.com/status/200 | ||
|
|
||
| # Test specific status code and display the return code | ||
| kubectl exec deploy/sleep -- curl -s -o /dev/null -w "%{http_code}\n" http://kmesh-fake.com/status/418 | ||
| ``` | ||
|
|
||
| The second command should return the HTTP status code: | ||
|
|
||
| ```txt | ||
| 418 | ||
| ``` | ||
|
|
||
| ### 4. Response Header Check | ||
|
|
||
| Check complete response header information: | ||
|
|
||
| ```bash | ||
| kubectl exec deploy/sleep -- curl -IsS http://kmesh-fake.com/headers | ||
| ``` | ||
|
|
||
| You should see response headers containing Envoy proxy and routing information: | ||
|
|
||
| ```txt | ||
| HTTP/1.1 200 OK | ||
| server: envoy | ||
| date: Wed, 08 Oct 2025 07:51:51 GMT | ||
| content-type: application/json | ||
| content-length: 78 | ||
| access-control-allow-origin: * | ||
| access-control-allow-credentials: true | ||
| x-envoy-upstream-service-time: 1 | ||
| x-envoy-decorator-operation: httpbin.default.svc.cluster.local:8000/* | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| @@ -0,0 +1,102 @@ | |||
| --- | |||
| sidebar_position: 5 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| --- | ||
| title: Quick Start | ||
| description: This guide lets you quickly install Kmesh. | ||
| sidebar_position: 1 | ||
| --- | ||
|
|
||
| # Quick Start Guide | ||
|
|
||
| This guide lets you quickly install Kmesh. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before installing Kmesh, ensure your environment meets the following requirements: | ||
|
|
||
| | Requirement | Version | Notes | | ||
| | ----------- | ------- | --------------------- | | ||
| | Kubernetes | 1.26+ | Tested on 1.26-1.29 | | ||
| | Istio | 1.22+ | Tested on 1.22-1.25 (ambient mode required) | | ||
| | Helm | 3.0+ | For helm installation | | ||
| | Memory | 4GB+ | Recommended minimum | | ||
| | CPU | 2 cores | Recommended minimum | | ||
| | Kernel | 5.10+ | For eBPF support | | ||
|
|
||
| ## Preparation | ||
|
|
||
| Kmesh needs to run on a Kubernetes cluster. Kubernetes 1.26+ are currently supported. We recommend using [kind](https://kind.sigs.k8s.io/docs/user/quick-start/) to quickly provide a Kubernetes cluster (We provide a [document](develop-with-kind/) for developing and deploying Kmesh using kind). Of course, you can also use [minikube](https://minikube.sigs.k8s.io/docs/) and other ways to create Kubernetes clusters. | ||
|
|
||
| Currently, Kmesh makes use of [istio](https://istio.io/) as its control plane. Before installing Kmesh, please install the Istio control plane. We recommend installing istio ambient mode because Kmesh `dual-engine` mode need it. For details, see [ambient mode istio](https://istio.io/latest/docs/ops/ambient/getting-started/). | ||
|
|
||
| You can view the results of istio installation using the following command: | ||
|
|
||
| ```shell | ||
| kubectl get po -n istio-system | ||
| NAME READY STATUS RESTARTS AGE | ||
| istio-cni-node-xbc85 1/1 Running 0 18h | ||
| istiod-5659cfbd55-9s92d 1/1 Running 0 18h | ||
| ztunnel-4jlvv 1/1 Running 0 18h | ||
| ``` | ||
|
|
||
| > **Note**: To use waypoint you need to install the Kubernetes Gateway API CRDs, which don't come installed by default on most Kubernetes clusters: | ||
|
|
||
| ```shell | ||
| kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \ | ||
| { kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=444631bfe06f3bcca5d0eadf1857eac1d369421d" | kubectl apply -f -; } | ||
| ``` | ||
|
|
||
| ### Only install Istiod | ||
|
|
||
| Installing ambient mode istio by above steps will install additional istio components. | ||
|
|
||
| The process of installing only `istiod` as the control plane for Kmesh is provided next. | ||
|
|
||
| #### Install Istio CRDs | ||
|
|
||
| ```shell | ||
| helm repo add istio https://istio-release.storage.googleapis.com/charts | ||
| helm repo update | ||
| ``` | ||
|
|
||
| To install the chart with the release name `istio-base`: | ||
|
|
||
| ```shell | ||
| kubectl create namespace istio-system | ||
| helm install istio-base istio/base -n istio-system | ||
| ``` | ||
|
|
||
| #### Install Istiod | ||
|
|
||
| To install the chart with the release name `istiod`: | ||
|
|
||
| ```shell | ||
| helm install istiod istio/istiod --namespace istio-system --version 1.24.0 --set pilot.env.PILOT_ENABLE_AMBIENT=true | ||
| ``` | ||
|
|
||
| > **Important:** Must set `pilot.env.PILOT_ENABLE_AMBIENT=true`. otherwise Kmesh will not be able to establish grpc links with istiod! If you want to use the Waypoint feature, you should use the istio version 1.23 ~ 1.25. | ||
|
|
||
| After installing istiod, it's time to install Kubernetes Gateway API CRDs. | ||
|
|
||
| ```shell | ||
| kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \ | ||
| { kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=444631bfe06f3bcca5d0eadf1857eac1d369421d" | kubectl apply -f -; } | ||
| ``` | ||
|
|
||
| ## Install Kmesh | ||
|
|
||
| We offer several ways to install Kmesh: | ||
|
|
||
| ### Option 1: Install from OCI Registry (Recommended) | ||
|
|
||
| You can install Kmesh directly from the GitHub Container Registry without cloning the repository: | ||
|
|
||
| ```shell | ||
| helm install kmesh oci://ghcr.io/kmesh-net/kmesh-helm --version x.y.z -n kmesh-system --create-namespace | ||
| ``` | ||
|
|
||
| - Replace `x.y.z` with your desired version from [kmesh-helm packages](https://github.com/orgs/kmesh-net/packages/container/package/kmesh-helm): | ||
| - For stable releases, use a version like `v1.1.0`. | ||
| - For pre-releases, use a version like `v1.1.0-alpha`. | ||
| - Omit the `--version` flag to install the latest version (not recommended for production). | ||
|
|
||
| ### Option 2: Install from Helm | ||
|
|
||
| ```shell | ||
| helm install kmesh ./deploy/charts/kmesh-helm -n kmesh-system --create-namespace | ||
| ``` | ||
|
|
||
| ### Option 3: Install from Helm Chart Archive | ||
|
|
||
| ```shell | ||
| helm install kmesh ./kmesh-helm-<version>.tgz -n kmesh-system --create-namespace | ||
| ``` | ||
|
|
||
| - Download the `kmesh-helm-<version>.tgz` archive from [GitHub Releases](https://github.com/kmesh-net/kmesh/releases). Replace `<version>` in the command above with the version you downloaded (e.g., `v1.1.0`). | ||
|
|
||
| ### Option 4: Install from Yaml | ||
|
|
||
| ```shell | ||
| kubectl create namespace kmesh-system | ||
| kubectl apply -f ./deploy/yaml/ | ||
| ``` | ||
|
|
||
| You can confirm the status of Kmesh with the following command: | ||
|
|
||
| ```shell | ||
| kubectl get pod -n kmesh-system | ||
| NAME READY STATUS RESTARTS AGE | ||
| kmesh-v2frk 1/1 Running 0 18h | ||
| ``` | ||
|
|
||
| View the running status of Kmesh service: | ||
|
|
||
| ```log | ||
| time="2024-04-25T13:17:40Z" level=info msg="bpf Start successful" subsys=manager | ||
| time="2024-04-25T13:17:40Z" level=info msg="controller Start successful" subsys=manager | ||
| time="2024-04-25T13:17:40Z" level=info msg="dump StartServer successful" subsys=manager | ||
| time="2024-04-25T13:17:40Z" level=info msg="start write CNI config\n" subsys="cni installer" | ||
| time="2024-04-25T13:17:40Z" level=info msg="kmesh cni use chained\n" subsys="cni installer" | ||
| time="2024-04-25T13:17:41Z" level=info msg="Copied /usr/bin/kmesh-cni to /opt/cni/bin." subsys="cni installer" | ||
| time="2024-04-25T13:17:41Z" level=info msg="kubeconfig either does not exist or is out of date, writing a new one" subsys="cni installer" | ||
| time="2024-04-25T13:17:41Z" level=info msg="wrote kubeconfig file /etc/cni/net.d/kmesh-cni-kubeconfig" subsys="cni installer" | ||
| time="2024-04-25T13:17:41Z" level=info msg="cni config file: /etc/cni/net.d/10-kindnet.conflist" subsys="cni installer" | ||
| time="2024-04-25T13:17:41Z" level=info msg="command Start cni successful" subsys=manager | ||
| ``` | ||
|
|
||
| ## Verify Installation | ||
|
|
||
| After installing Kmesh, verify all components are functioning correctly: | ||
|
|
||
| ### 1. Verify Core Components | ||
|
|
||
| Check Kmesh pod status: | ||
|
|
||
| ```shell | ||
| kubectl get pod -n kmesh-system | ||
| NAME READY STATUS RESTARTS AGE | ||
| kmesh-v2frk 1/1 Running 0 18h | ||
| ``` | ||
|
|
||
| Check Istio components: | ||
|
|
||
| ```shell | ||
| kubectl get pods -n istio-system | ||
| NAME READY STATUS RESTARTS AGE | ||
| istiod-5659cfbd55-9s92d 1/1 Running 0 18h | ||
| ``` | ||
|
|
||
| ### 2. Verify Pod Integration | ||
|
|
||
| Deploy a test pod and verify Kmesh annotation: | ||
|
|
||
| ```shell | ||
| kubectl describe po <pod-name> | grep Annotations | ||
| Annotations: kmesh.net/redirection: enabled | ||
| ``` | ||
|
|
||
| ### 3. Verify Service Connectivity | ||
|
|
||
| Test service access using the sleep pod: | ||
|
|
||
| ```shell | ||
| kubectl exec sleep-7656cf8794-xjndm -c sleep -- curl -IsS "http://httpbin:8000/status/200" | ||
| ``` | ||
|
|
||
| Expected response should show HTTP 200 OK status. | ||
|
|
||
| ### 4. Verify Kmesh Service Logs | ||
|
|
||
| Check for successful initialization messages: | ||
|
|
||
| ```shell | ||
| kubectl logs -n kmesh-system $(kubectl get pods -n kmesh-system -o jsonpath='{.items.metadata.name}') | ||
| ``` | ||
|
|
||
| Look for these key messages: | ||
|
|
||
| - "bpf Start successful" | ||
| - "controller Start successful" | ||
| - "dump StartServer successful" | ||
| - "command Start cni successful" | ||
|
|
||
| ### 5. Verify CNI Configuration | ||
|
|
||
| Check CNI binary installation: | ||
|
|
||
| ```shell | ||
| ls -l /opt/cni/bin/kmesh-cni | ||
| ``` | ||
|
|
||
| Verify CNI configuration: | ||
|
|
||
| ```shell | ||
| cat /etc/cni/net.d/kmesh-cni-kubeconfig | ||
| ``` | ||
|
|
||
| ## Change Kmesh Start Mode | ||
|
|
||
| Kmesh supports two start up modes: `dual-engine` and `kernel-native`. | ||
|
|
||
| The specific mode to be used is defined in deploy/charts/kmesh-helm/values.yaml, and we can modify the startup parameters in that file. | ||
|
|
||
| ```yaml | ||
| ...... | ||
| containers: | ||
| kmeshDaemonArgs: "--mode=dual-engine --enable-bypass=false" | ||
| ...... | ||
| ``` | ||
|
|
||
| We can use the following command to make the modification: | ||
|
|
||
| ```shell | ||
| sed -i 's/--mode=dual-engine/--mode=kernel-native/' deploy/charts/kmesh-helm/values.yaml | ||
| ``` | ||
|
|
||
| ## Deploy the Sample Applications | ||
|
|
||
| Kmesh can manage pods in a namespace with a label `istio.io/dataplane-mode=Kmesh`, and meanwhile the pod should have no `istio.io/dataplane-mode=none` label. | ||
|
|
||
| ```shell | ||
| # Enable Kmesh for the specified namespace | ||
| kubectl label namespace default istio.io/dataplane-mode=Kmesh | ||
| ``` | ||
|
|
||
| Apply the following configuration to deploy sleep and httpbin: | ||
|
|
||
| ```shell | ||
| kubectl apply -f ./samples/httpbin/httpbin.yaml | ||
|
|
||
| kubectl apply -f ./samples/sleep/sleep.yaml | ||
| ``` | ||
|
|
||
| Check the applications status: | ||
|
|
||
| ```shell | ||
| kubectl get pod | ||
| NAME READY STATUS RESTARTS AGE | ||
| httpbin-65975d4c6f-96kgw 1/1 Running 0 3h38m | ||
| sleep-7656cf8794-8tp9n 1/1 Running 0 3h38m | ||
| ``` | ||
|
|
||
| You can confirm if a pod is managed by Kmesh by looking at the pod's annotation. | ||
|
|
||
| ```shell | ||
| kubectl describe po httpbin-65975d4c6f-96kgw | grep Annotations | ||
|
|
||
| Annotations: kmesh.net/redirection: enabled | ||
| ``` | ||
|
|
||
| ## Test Service Access | ||
|
|
||
| After the applications have been manage by Kmesh, we can test that they can still communicate successfully. | ||
|
|
||
| ```shell | ||
| kubectl exec sleep-7656cf8794-xjndm -c sleep -- curl -IsS "http://httpbin:8000/status/200" | ||
|
|
||
| HTTP/1.1 200 OK | ||
| Server: gunicorn/19.9.0 | ||
| Date: Sun, 28 Apr 2024 07:31:51 GMT | ||
| Connection: keep-alive | ||
| Content-Type: text/html; charset=utf-8 | ||
| Access-Control-Allow-Origin: * | ||
| Access-Control-Allow-Credentials: true | ||
| Content-Length: 0 | ||
| ``` | ||
|
|
||
| Note: 10.244.0.21 is the IP of httpbin | ||
|
|
||
| ## Clean Up | ||
|
|
||
| If you don't want to use Kmesh to manage the application anymore, you can remove the labels from the namespace. | ||
|
|
||
| ```shell | ||
| kubectl label namespace default istio.io/dataplane-mode- | ||
| kubectl delete pod httpbin-65975d4c6f-96kgw sleep-7656cf8794-8tp9n | ||
| kubectl describe pod httpbin-65975d4c6f-h2r99 | grep Annotations | ||
|
|
||
| Annotations: <none> | ||
| ``` | ||
|
|
||
| ### Delete Kmesh | ||
|
|
||
| If you installed Kmesh using any of the Helm options above: | ||
|
|
||
| ```shell | ||
| helm uninstall kmesh -n kmesh-system | ||
| kubectl delete ns kmesh-system | ||
| ``` | ||
|
|
||
| If you installed Kmesh using yaml: | ||
|
|
||
| ```shell | ||
| kubectl delete -f ./deploy/yaml/ | ||
| ``` | ||
|
|
||
| To remove the sleep and httpbin applications: | ||
|
|
||
| ```shell | ||
| kubectl delete -f samples/httpbin/httpbin.yaml | ||
| kubectl delete -f samples/sleep/sleep.yaml | ||
| ``` | ||
|
|
||
| If you installed the Gateway API CRDs, remove them: | ||
|
|
||
| ```shell | ||
| kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=444631bfe06f3bcca5d0eadf1857eac1d369421d" | kubectl delete -f - | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This documentation file is for the Spanish locale (es), but the content is in English. To provide a proper internationalization experience, this file should be translated into Spanish. This applies to all other new markdown documentation files added under the i18n/es/ directory in this pull request.
sidebar title message translation Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…er/traffic-shifting-ads.md change the file name Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
Keywords which can automatically close issues and at(@) or hashtag(#) mentions are not allowed in commit messages. The list of commits with invalid commit messages:
DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Summary
Add initial Spanish (es) locale support to the Kmesh website.
Details
Related Issue
Closes #265