diff --git a/content/en/docs/pluggable-components/pod-ip-pools.md b/content/en/docs/pluggable-components/pod-ip-pools.md new file mode 100644 index 000000000..714d1d0eb --- /dev/null +++ b/content/en/docs/pluggable-components/pod-ip-pools.md @@ -0,0 +1,78 @@ +--- +title: "Pod IP Pools" +keywords: "Kubernetes, KubeSphere, Pod, IP Pools" +description: "Learn how to enable Pod IP Pools to assign a specific Pod IP Pool to your Pods." +linkTitle: "Pod IP Pools" +weight: 6920 +--- + +## What are Pod IP Pools + +A Pod IP Pool is used to manage the Pod network address space, and the address space between each Pod IP Pool cannot overlap. When you create a workload, you can select a specific Pod IP Pool, so that created Pods will be assigned IP addresses from this Pod IP Pool. + +## Enable Pod IP Pools before Installation + +### Installing on Kubernetes + +As you [install KubeSphere on Kubernetes](../../installing-on-kubernetes/introduction/overview/), you can enable Pod IP Pools first in the [cluster-configuration.yaml](https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml) file. + +1. Download the file [cluster-configuration.yaml](https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml) and edit it. + + ```bash + vi cluster-configuration.yaml + ``` + +2. In this local `cluster-configuration.yaml` file, navigate to `network.ippool.type` and enable it by changing `none` to `calico`. Save the file after you finish. + + ```yaml + network: + ippool: + type: calico # Change "none" to "calico" + ``` + +3. Execute the following commands to start installation: + + ```bash + kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml + kubectl apply -f cluster-configuration.yaml + ``` + + +## Enable Pod IP Pools after Installation + +1. Log in to the console as `admin`. Click **Platform** in the top-left corner and select **Cluster Management**. + +2. Click **CRDs** and enter `clusterconfiguration` in the search bar. Click the result to view its detail page. + + {{< notice info >}} +A Custom Resource Definition (CRD) allows users to create a new type of resources without adding another API server. They can use these resources like any other native Kubernetes objects. + {{}} + +3. In **Resource List**, click the three dots on the right of `ks-installer` and select **Edit YAML**. + +4. In this YAML file, navigate to `network` and change `network.ippool.type` to `calico`. After you finish, click **Update** in the bottom-right corner to save the configuration. + + ```yaml + network: + ippool: + type: calico # Change "none" to "calico" + ``` + +5. You can use the web kubectl to check the installation process by executing the following command: + + ```bash + kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f + ``` + + {{< notice tip >}} +You can find the web kubectl tool by clicking the hammer icon in the bottom-right corner of the console. + {{}} + +## Verify the Installation of the Component + +On the **Cluster Management** page, verify that you can see the section **Pod IP Pools** under **Network**. + +![pod-ip-pool](/images/docs/enable-pluggable-components/pod-ip-pools/pod-ip-pool.png) + + + diff --git a/content/en/docs/pluggable-components/service-topology.md b/content/en/docs/pluggable-components/service-topology.md new file mode 100644 index 000000000..5de1e0e08 --- /dev/null +++ b/content/en/docs/pluggable-components/service-topology.md @@ -0,0 +1,104 @@ +--- +title: "Service Topology" +keywords: "Kubernetes, KubeSphere, Services, Topology" +description: "Learn how to enable Service Topology to view contextual details of your Pods based on Weave Scope." +linkTitle: "Service Topology" +weight: 6915 +--- + +## What is Service Topology + +You can enable Service Topology to integrate [Weave Scope](https://www.weave.works/oss/scope/), a visualization and monitoring tool for Docker and Kubernetes. Weave Scope uses established APIs to collect information to build a topology of your apps and containers. The Service topology displays in your project, providing you with visual representations of connections based on traffic. + +## Enable Service Topology before Installation + +### **Installing on Kubernetes** + +As you [install KubeSphere on Kubernetes](../../installing-on-kubernetes/introduction/overview/), you can enable Service Topology first in the [cluster-configuration.yaml](https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml) file. + +1. Download the file [cluster-configuration.yaml](https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml) and edit it. + + ```bash + vi cluster-configuration.yaml + ``` + +2. In this local `cluster-configuration.yaml` file, navigate to `network.topology.type` and enable it by changing `none` to `weave-scope`. Save the file after you finish. + + ```yaml + network: + topology: + type: weave-scope # Change "none" to "weave-scope". + ``` + +3. Execute the following commands to start installation: + + ```bash + kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml + kubectl apply -f cluster-configuration.yaml + ``` + + +## Enable Service Topology after Installation + +1. Log in to the console as `admin`. Click **Platform** in the top-left corner and select **Cluster Management**. + +2. Click **CRDs** and enter `clusterconfiguration` in the search bar. Click the result to view its detail page. + + {{< notice info >}} +A Custom Resource Definition (CRD) allows users to create a new type of resources without adding another API server. They can use these resources like any other native Kubernetes objects. + {{}} + +3. In **Resource List**, click the three dots on the right of `ks-installer` and select **Edit YAML**. + +4. In this YAML file, navigate to `network` and change `network.topology.type` to `weave-scope`. After you finish, click **Update** in the bottom-right corner to save the configuration. + + ```yaml + network: + topology: + type: weave-scope # Change "none" to "weave-scope". + ``` + +5. You can use the web kubectl to check the installation process by executing the following command: + + ```bash + kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f + ``` + + {{< notice tip >}} +You can find the web kubectl tool by clicking the hammer icon in the bottom-right corner of the console. + {{}} + +## Verify the Installation of the Component + +{{< tabs >}} + +{{< tab "Verify the component on the dashboard" >}} + +Go to one of your project, navigate to **Services** under **Application Workloads**, and you can see a topology of your **Services** on the **Topology** tab. + +![topology](/images/docs/enable-pluggable-components/service-topology/topology.png) + +{{}} + +{{< tab "Verify the component through kubectl" >}} + +Execute the following command to check the status of Pods: + +```bash +kubectl get pod -n weave +``` + +The output may look as follows if the component runs successfully: + +```bash +NAME READY STATUS RESTARTS AGE +weave-scope-agent-48cjp 1/1 Running 0 3m1s +weave-scope-agent-9jb4g 1/1 Running 0 3m1s +weave-scope-agent-ql5cf 1/1 Running 0 3m1s +weave-scope-app-5b76897b6f-8bsls 1/1 Running 0 3m1s +weave-scope-cluster-agent-8d9b8c464-5zlpp 1/1 Running 0 3m1s +``` + +{{}} + +{{}} \ No newline at end of file diff --git a/static/images/docs/enable-pluggable-components/pod-ip-pools/pod-ip-pool.png b/static/images/docs/enable-pluggable-components/pod-ip-pools/pod-ip-pool.png new file mode 100644 index 000000000..5e773e1c6 Binary files /dev/null and b/static/images/docs/enable-pluggable-components/pod-ip-pools/pod-ip-pool.png differ diff --git a/static/images/docs/enable-pluggable-components/service-topology/topology.png b/static/images/docs/enable-pluggable-components/service-topology/topology.png new file mode 100644 index 000000000..9788f1c83 Binary files /dev/null and b/static/images/docs/enable-pluggable-components/service-topology/topology.png differ