Conflict fix

Signed-off-by: Bettygogo <bintinggou@yunify.com>
This commit is contained in:
Bettygogo 2021-10-12 19:09:41 +08:00 committed by Felixnoo
parent 0b1afd6214
commit 1c70880b82
134 changed files with 62 additions and 246 deletions

View File

@ -106,9 +106,7 @@ Now that KubeSphere is installed, you can access the web console of KubeSphere b
{{</ notice >}}
- Log in to the console with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard as shown in the following image.
![doks-cluster](/images/docs/do/doks-cluster.png)
- Log in to the console with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard.
## Enable Pluggable Components (Optional)

View File

@ -173,9 +173,7 @@ Now that KubeSphere is installed, you can access the web console of KubeSphere b
- Access the web console of KubeSphere using the external IP generated by EKS.
- Log in to the console with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard as shown in the following image.
![eks-cluster](https://ap3.qingstor.com/kubesphere-website/docs/gke-cluster.png)
- Log in to the console with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard.
## Enable Pluggable Components (Optional)

View File

@ -99,9 +99,7 @@ Now that KubeSphere is installed, you can access the web console of KubeSphere b
{{</ notice >}}
- Log in to the console with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard as shown in the following image.
![gke-cluster](https://ap3.qingstor.com/kubesphere-website/docs/gke-cluster.png)
- Log in to the console with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard.
## Enable Pluggable Components (Optional)

View File

@ -99,8 +99,6 @@ Default settings are OK for other detailed configurations. You can also set them
After you set LoadBalancer for KubeSphere console, you can visit it via the given address. Go to KubeSphere login page and use the default account (username `admin` and password `P@88w0rd`) to log in.
![Log in to KubeSphere Console](/images/docs/huawei-cce/en/login-ks-console.png)
## Enable Pluggable Components (Optional)
The example above demonstrates the process of a default minimal installation. To enable other components in KubeSphere, see [Enable Pluggable Components](../../../pluggable-components/) for more details.
@ -112,5 +110,3 @@ Before you use Istio-based features of KubeSphere, you have to delete `applicati
{{</ notice >}}
After your component is installed, go to the **Cluster Management** page, and you will see the interface below. You can check the status of your component in **System Components**.
![Full View of KubeSphere Console](/images/docs/huawei-cce/en/view-ks-console-full.png)

View File

@ -140,9 +140,7 @@ Now that KubeSphere is installed, you can access the web console of KubeSphere e
![console-service](https://ap3.qingstor.com/kubesphere-website/docs/console-service.png)
- Log in to the console through the external IP address with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard shown below:
![kubesphere-oke-dashboard](https://ap3.qingstor.com/kubesphere-website/docs/kubesphere-oke-dashboard.png)
- Log in to the console through the external IP address with the default account and password (`admin/P@88w0rd`). In the cluster overview page, you can see the dashboard.
## Enable Pluggable Components (Optional)

View File

@ -90,7 +90,7 @@ To make sure edge nodes can successfully talk to your cluster, you must forward
## Add an Edge Node
1. Log in to the console as `admin` and click **Platform** in the top-left corner.
1. Log in to the console as `admin` and click **Platform** in the upper-left corner.
2. Select **Cluster Management** and navigate to **Edge Nodes** under **Nodes**.
@ -109,7 +109,7 @@ To make sure edge nodes can successfully talk to your cluster, you must forward
{{</ notice >}}
4. Copy the command automatically created under **Add Command** and run it on your edge node.
4. Copy the command automatically created under **Edge Node Configuration Command** and run it on your edge node.
{{< notice note >}}
@ -117,12 +117,8 @@ To make sure edge nodes can successfully talk to your cluster, you must forward
{{</ notice >}}
![edge-node-dialog](/images/docs/installing-on-linux/add-and-delete-nodes/add-edge-nodes/edge-node-dialog.png)
5. Close the dialog, refresh the page, and the edge node will appear in the list.
![edge-node-added](/images/docs/installing-on-linux/add-and-delete-nodes/add-edge-nodes/edge-node-added.png)
{{< notice note >}}
After an edge node is added, if you cannot see CPU and memory resource usage on the **Edge Nodes** page, make sure [Metrics Server](../../../pluggable-components/metrics-server/) 0.4.1 or later is installed in your cluster.

View File

@ -12,8 +12,6 @@ Marking a node as unschedulable prevents the scheduler from placing new Pods ont
Log in to the console as `admin` and go to the **Cluster Management** page. To mark a node unschedulable, choose **Cluster Nodes** under **Nodes** from the left menu, find a node you want to remove from the cluster, and click **Cordon**. Alternatively, you can run the command `kubectl cordon $NODENAME` directly. See [Kubernetes Nodes](https://kubernetes.io/docs/concepts/architecture/nodes/) for more details.
![cordon](/images/docs/installing-on-linux/add-and-delete-nodes/delete-nodes/cordon.png)
{{< notice note >}}
Pods that are part of a DaemonSet tolerate being run on an unschedulable node. DaemonSets typically provide node-local services that should run on the node even if it is being drained of workload applications.

View File

@ -174,10 +174,6 @@ chmod +x kk
5. Access the KubeSphere console at `<NodeIP>:30880` with the default account and password (`admin/P@88W0rd`).
![cluster-management](/images/docs/installing-on-linux/on-premises/cluster-management.png)
![service-components](/images/docs/installing-on-linux/on-premises/service-components.png)
{{< notice note >}}
You can enable pluggable components of KubeSphere after the installation while some features may not be compatible as KubeSphere on K3s is only experimental currently.

View File

@ -284,11 +284,9 @@ glusterfs (default) kubernetes.io/glusterfs Delete Immediate
### KubeSphere console
1. Log in to the web console with the default account and password (`admin/P@88w0rd`) at `<NodeIP>:30880`. Click **Platform** in the top-left corner and select **Cluster Management**.
1. Log in to the web console with the default account and password (`admin/P@88w0rd`) at `<NodeIP>:30880`. Click **Platform** in the upper-left corner and select **Cluster Management**.
3. Go to **Volumes** under **Storage**, and you can see PVCs in use.
![volumes-in-use](/images/docs/installing-on-linux/persistent-storage-configurations/glusterfs-client/volumes-in-use.png)
{{< notice note >}}
@ -296,6 +294,4 @@ glusterfs (default) kubernetes.io/glusterfs Delete Immediate
{{</ notice >}}
3. On the **Storage Classes** page, you can see the storage class available in your cluster.
![storage-class-available](/images/docs/installing-on-linux/persistent-storage-configurations/glusterfs-client/storage-class-available.png)
4. On the **Storage Classes** page, you can see the storage class available in your cluster.

View File

@ -257,15 +257,11 @@ You can verify that NFS-client has been successfully installed either from the c
### KubeSphere console
1. Log in to the web console as `admin` with the default account and password at `<NodeIP>:30880`. Click **Platform** in the top-left corner and select **Cluster Management**.
1. Log in to the web console as `admin` with the default account and password at `<NodeIP>:30880`. Click **Platform** in the upper-left corner and select **Cluster Management**.
2. Go to **Pods** in **Application Workloads** and select `kube-system` from the project drop-down list. You can see that the Pod of `nfs-client` is up and running.
![nfs-pod](/images/docs/installing-on-linux/persistent-storage-configurations/nfs-client/nfs-pod.png)
3. Go to **Storage Classes** under **Storage**, and you can see available storage classes in your cluster.
![nfs-storage-class](/images/docs/installing-on-linux/persistent-storage-configurations/nfs-client/nfs-storage-class.png)
{{< notice note >}}

View File

@ -261,15 +261,11 @@ You can verify that QingCloud CSI has been successfully installed either from th
### KubeSphere console
1. Log in to the web console with the default account and password (`admin/P@88w0rd`) at `<NodeIP>:30880`. Click **Platform** in the top-left corner and select **Cluster Management**.
1. Log in to the web console with the default account and password (`admin/P@88w0rd`) at `<NodeIP>:30880`. Click **Platform** in the upper-left corner and select **Cluster Management**.
2. Go to **Pods** in **Application Workloads** and select `kube-system` from the project drop-down list. You can see that the Pods of `csi-qingcloud` are up and running.
![qingcloud-csi-pod](/images/docs/installing-on-linux/persistent-storage-configurations/qingcloud-csi/qingcloud-csi-pod.png)
3. Go to **Storage Classes** under **Storage**, and you can see available storage classes in your cluster.
![qingcloud-csi-storage-class](/images/docs/installing-on-linux/persistent-storage-configurations/qingcloud-csi/qingcloud-csi-storage-class.png)
{{< notice note >}}

View File

@ -327,8 +327,6 @@ Both listeners show that the status is **Active**, meaning nodes are up and runn
In the web console of KubeSphere, you can also see that all the nodes are functioning well.
![cluster-node](/images/docs/installing-on-linux/installing-on-public-cloud/deploy-kubesphere-on-qingcloud-instances/cluster-node.png)
To verify if the cluster is highly available, you can turn off an instance on purpose. For example, the above console is accessed through the address `IP: 30880` (the EIP address here is the one bound to the external load balancer). If the cluster is highly available, the console will still work well even if you shut down a master node.
## See Also

View File

@ -41,7 +41,7 @@ multicluster:
clusterRole: host
```
You need to **wait for a while** so that the change can take effect.
You need to wait for a while so that the change can take effect.
{{</ tab >}}
@ -187,7 +187,7 @@ multicluster:
clusterRole: member
```
You need to **wait for a while** so that the change can take effect.
You need to wait for a while so that the change can take effect.
{{</ tab >}}
@ -224,19 +224,11 @@ kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=
## Import a Member Cluster
1. Log in to the KubeSphere console as `admin` and click **Add Cluster** on the **Cluster Management** page.
![add-cluster](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/agent-connection/add-cluster.png)
2. Enter the basic information of the cluster to be imported on the **Import Cluster** page. You can also click **Edit Mode** in the top-right corner to view and edit the basic information in YAML format. After you finish editing, click **Next**.
![cluster-info](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/agent-connection/cluster-info.png)
2. Enter the basic information of the cluster to be imported on the **Import Cluster** page. You can also click **Edit Mode** in the upper-right corner to view and edit the basic information in YAML format. After you finish editing, click **Next**.
3. In **Connection Method**, select **Agent Connection** and click **Create**. It will show the YAML configuration file for the agent Deployment generated by the H Cluster on the console.
![select-agent-connection](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/agent-connection/select-agent-connection.png)
4. Create an `agent.yaml` file on the M Cluster based on the instruction, then copy and paste the agent deployment to the file. Execute `kubectl create -f agent.yaml` on the node and wait for the agent to be up and running. Please make sure the proxy address is accessible to the M Cluster.
5. You can see the cluster you have imported in the H Cluster when the cluster agent is up and running.
![cluster-imported](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/agent-connection/cluster-imported.png)
5. You can see the cluster you have imported in the H Cluster when the cluster agent is up and running.

View File

@ -41,7 +41,7 @@ multicluster:
clusterRole: host
```
You need to **wait for a while** so that the change can take effect.
You need to wait for a while so that the change can take effect.
{{</ tab >}}
@ -151,13 +151,9 @@ kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=
## Import a Member Cluster
1. Log in to the KubeSphere console as `admin` and click **Add Cluster** on the **Cluster Management** page.
![add-cluster](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/direct-connection/add-cluster.png)
2. Enter the basic information of the cluster to be imported on the **Import Cluster** page. You can also click **Edit Mode** in the top-right corner to view and edit the basic information in YAML format. After you finish editing, click **Next**.
![cluster-info](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/direct-connection/cluster-info.png)
3. In **Connection Method**, select **Direct Connection**, and copy the kubeconfig of the Member Cluster and paste it into the box. You can also click **Edit Mode** in the top-right corner to edit the kubeconfig of the Member Cluster in YAML format.
{{< notice note >}}
@ -165,9 +161,5 @@ kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=
Make sure the `server` address in KubeConfig is accessible on any node of the Host Cluster.
{{</ notice >}}
![kubeconfig](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/direct-connection/kubeconfig.png)
4. Click **Create** and wait for cluster initialization to finish.
![cluster-imported](/images/docs/multicluster-management/enable-multicluster-management-in-kubesphere/direct-connection/cluster-imported.png)
1. Click **Create** and wait for cluster initialization to finish.

View File

@ -33,12 +33,8 @@ This tutorial demonstrates how to import an Alibaba Cloud Kubernetes (ACK) clust
3. Go to **CRDs**, enter `ClusterConfiguration` in the search bar, and then press **Enter** on your keyboard. Click **ClusterConfiguration** to go to its detail page.
![search-config](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-ack/search-config.png)
4. Click <img src="/images/docs/multicluster-management/import-cloud-hosted-k8s/import-ack/three-dots.png" height="20px"> on the right and then select **Edit YAML** to edit `ks-installer`.
![click-edit](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-ack/click-edit.png)
5. In the YAML file of `ks-installer`, change the value of `jwtSecret` to the corresponding value shown above and set the value of `clusterRole` to `member`. Click **Update** to save your changes.
```yaml
@ -67,16 +63,8 @@ Log in to the web console of Alibaba Cloud. Go to **Clusters** under **Container
1. Log in to the KubeSphere console on your Host Cluster as `admin`. Click **Platform** in the upper-left corner and then select **Cluster Management**. On the **Cluster Management** page, click **Add Cluster**.
![click-add-cluster](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-ack/click-add-cluster.png)
2. Enter the basic information based on your needs and click **Next**.
![input-info](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-ack/input-info.png)
3. In **Connection Method**, select **Direct Connection**. Fill in the kubeconfig file of the ACK Member Cluster and then click **Create**.
![select-method](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-ack/select-method.png)
4. Wait for cluster initialization to finish.
![ack-cluster-imported](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-ack/ack-cluster-imported.png)
4. Wait for cluster initialization to finish.

View File

@ -37,12 +37,8 @@ You need to deploy KubeSphere on your EKS cluster first. For more information ab
3. Go to **CRDs**, enter `ClusterConfiguration` in the search bar, and then press **Enter** on your keyboard. Click **ClusterConfiguration** to go to its detail page.
![search-config](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-eks/search-config.png)
4. Click <img src="/images/docs/multicluster-management/import-cloud-hosted-k8s/import-eks/three-dots.png" height="20px"> on the right and then select **Edit YAML** to edit `ks-installer`.
![click-edit](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-eks/click-edit.png)
5. In the YAML file of `ks-installer`, change the value of `jwtSecret` to the corresponding value shown above and set the value of `clusterRole` to `member`. Click **Update** to save your changes.
```yaml
@ -168,16 +164,8 @@ You need to deploy KubeSphere on your EKS cluster first. For more information ab
1. Log in to the KubeSphere console on your Host Cluster as `admin`. Click **Platform** in the upper-left corner and then select **Cluster Management**. On the **Cluster Management** page, click **Add Cluster**.
![click-add-cluster](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-eks/click-add-cluster.png)
2. Enter the basic information based on your needs and click **Next**.
![input-info](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-eks/input-info.png)
3. In **Connection Method**, select **Direct Connection**. Fill in the new kubeconfig file of the EKS Member Cluster and then click **Create**.
![eks-kubeconfig](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-eks/eks-kubeconfig.png)
4. Wait for cluster initialization to finish.
![eks-overview](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-eks/eks-overview.png)
4. Wait for cluster initialization to finish.

View File

@ -37,12 +37,8 @@ You need to deploy KubeSphere on your GKE cluster first. For more information ab
3. Go to **CRDs**, enter `ClusterConfiguration` in the search bar, and then press **Enter** on your keyboard. Click **ClusterConfiguration** to go to its detail page.
![search-config](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-gke/search-config.png)
4. Click <img src="/images/docs/multicluster-management/import-cloud-hosted-k8s/import-gke/three-dots.png" height="20px"> on the right and then select **Edit YAML** to edit `ks-installer`.
![click-edit](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-gke/click-edit.png)
5. In the YAML file of `ks-installer`, change the value of `jwtSecret` to the corresponding value shown above and set the value of `clusterRole` to `member`.
```yaml
@ -113,16 +109,8 @@ You need to deploy KubeSphere on your GKE cluster first. For more information ab
1. Log in to the KubeSphere console on your Host Cluster as `admin`. Click **Platform** in the upper-left corner and then select **Cluster Management**. On the **Cluster Management** page, click **Add Cluster**.
![click-add-cluster](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-gke/click-add-cluster.png)
2. Enter the basic information based on your needs and click **Next**.
![input-info](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-gke/input-info.png)
3. In **Connection Method**, select **Direct Connection**. Fill in the new kubeconfig file of the GKE Member Cluster and then click **Create**.
![select-method](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-gke/select-method.png)
4. Wait for cluster initialization to finish.
![gke-cluster-imported](/images/docs/multicluster-management/import-cloud-hosted-k8s/import-gke/gke-cluster-imported.png)
4. Wait for cluster initialization to finish.

View File

@ -12,8 +12,6 @@ The multi-cluster feature relates to the network connection among multiple clust
Before you use the central control plane of KubeSphere to management multiple clusters, you need to create a Host Cluster, also known as **H** Cluster. The H Cluster, essentially, is a KubeSphere cluster with the multi-cluster feature enabled. It provides you with the control plane for unified management of Member Clusters, also known as **M** Cluster. M Clusters are common KubeSphere clusters without the central control plane. Namely, tenants with necessary permissions (usually cluster administrators) can access the control plane from the H Cluster to manage all M Clusters, such as viewing and editing resources on M Clusters. Conversely, if you access the web console of any M Cluster separately, you cannot see any resources on other clusters.
![central-control-plane](/images/docs/multicluster-management/introduction/kubesphere-federation/central-control-plane.png)
There can only be one H Cluster while multiple M Clusters can exist at the same time. In a multi-cluster architecture, the network between the H Cluster and M Clusters can be connected directly or through an agent. The network between M Clusters can be set in a completely isolated environment.
![kubesphere-federation](/images/docs/multicluster-management/introduction/kubesphere-federation/kubesphere-federation.png)

View File

@ -19,12 +19,8 @@ This tutorial demonstrates how to unbind a cluster from the central control plan
2. On the **Cluster Management** page, click the cluster that you want to remove from the central control plane.
![cluster-management](/images/docs/multicluster-management/unbind-a-cluster/cluster-management.png)
3. Go to **Basic Information** under **Cluster Settings**, check **I confirm I want to unbind the cluster** and click **Unbind**.
![unbind-cluster](/images/docs/multicluster-management/unbind-a-cluster/unbind-cluster.png)
{{< notice note >}}
After you unbind the cluster, you cannot manage it from the control plane while Kubernetes resources on the cluster will not be deleted.

View File

@ -261,8 +261,6 @@ You may need to configure port forwarding rules and open the port in your securi
After logging in to the console, you can check the status of different components in **System Components**. You may need to wait for some components to be up and running if you want to use related services. You can also use `kubectl get pod --all-namespaces` to inspect the running status of KubeSphere workloads.
![kubesphere-components](/images/docs/quickstart/all-in-one-installation/kubesphere-components.png)
## Enable Pluggable Components (Optional)
This guide is used only for the minimal installation by default. For more information about how to enable other components in KubeSphere, see [Enable Pluggable Components](../../pluggable-components/).

View File

@ -1,7 +1,7 @@
---
title: "Create Workspaces, Projects, Users and Roles"
keywords: 'KubeSphere, Kubernetes, Multi-tenant, Workspace, Account, Role, Project'
description: 'Leverage the multi-tenant system of KubeSphere for fine-grained access control at different levels.'
keywords: 'KubeSphere, Kubernetes, Multi-tenant, Workspace, User, Role, Project'
description: 'Take advantage of the multi-tenant system of KubeSphere for fine-grained access control at different levels.'
linkTitle: "Create Workspaces, Projects, Users and Roles"
weight: 2300
---
@ -32,7 +32,7 @@ After KubeSphere is installed, you need to add different users with varied roles
For account security, it is highly recommended that you change your password the first time you log in to the console. To change your password, select **User Settings** in the drop-down list in the upper-right corner. In **Password Settings**, set a new password. You also can change the console language in **User Settings**.
{{</ notice >}}
2. Click **Platform** in the upper-left corner, and then select **Access Control**. In the left nevigation pane, select **Account Roles**. There are four built-in roles as shown in the following table.
2. Click **Platform** in the upper-left corner, and then select **Access Control**. In the left nevigation pane, select **Platform Roles**. There are four built-in roles as shown in the following table.
<table>
<tbody>
@ -64,11 +64,9 @@ After KubeSphere is installed, you need to add different users with varied roles
Built-in roles are created automatically by KubeSphere and cannot be edited or deleted.
{{</ notice >}}
3. In **Accounts**, click **Create**. In the displayed dialog box, provide all the necessary information (marked with *) and select `users-manager` for **Role**. Refer to the following image as an example.
3. In **Users**, click **Create**. In the displayed dialog box, provide all the necessary information (marked with *) and select `users-manager` for **Role**. Refer to the following image as an example.
![create-account](/images/docs/quickstart/create-workspaces-projects-accounts/create-account.png)
Click **OK** after you finish. The new account will display on the **Accounts** page.
Click **OK** after you finish. The new account will display on the **Users** page.
4. Log out of the console and log back in with the account `user-manager` to create four accounts that will be used in other tutorials.
@ -106,8 +104,6 @@ After KubeSphere is installed, you need to add different users with varied roles
5. Verify the four accounts created.
![account-list](/images/docs/quickstart/create-workspaces-projects-accounts/account-list.png)
### Step 2: Create a workspace
In this step, you create a workspace using the account `ws-manager` created in the previous step. As the basic logic unit for the management of projects, DevOps projects and organization members, workspaces underpin the multi-tenant system of KubeSphere.
@ -170,43 +166,37 @@ In this step, you create a project using the account `project-admin` created in
4. On the **Overview** page of the project, the project quota remains unset by default. You can click **Set** and specify [resource requests and limits](../../workspace-administration/project-quotas/) as needed (for example, 1 Core for CPU and 1000 Gi for memory).
![project-quota](/images/docs/quickstart/create-workspaces-projects-accounts/project-quota.png)
5. Invite `project-regular` to this project and grant this user the role `operator`. Refer to the following image for specific steps.
![invite-project-regular](/images/docs/quickstart/create-workspaces-projects-accounts/invite-project-regular.png)
5. Invite `project-regular` to this project and grant this user the role `operator`.
{{< notice info >}}
The user granted the role `operator` is a project maintainer who can manage resources other than users and roles in the project.
{{</ notice >}}
6. Before creating a [Route](../../project-user-guide/application-workloads/routes/) which is [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) in Kubernetes, you need to enable a gateway for this project. The gateway is an [NGINX Ingress controller](https://github.com/kubernetes/ingress-nginx) running in the project. To set a gateway, go to **Advanced Settings** in **Project Settings** and click **Set Gateway**. The account `project-admin` is still used in this step.
6. Before creating a [Route](../../project-user-guide/application-workloads/routes/) which is [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) in Kubernetes, you need to enable a gateway for this project. The gateway is an [NGINX Ingress controller](https://github.com/kubernetes/ingress-nginx) running in the project. To set a gateway, go to **Gateway Settings** in **Project Settings** and click **Set Gateway**. The account `project-admin` is still used in this step.
7. Select the access method **NodePort** and click **Save**.
7. Select the access method **NodePort** and click **OK**.
8. Under **Internet Access**, you can obtain the Gateway Address and the NodePort of http and https in the list.
8. Under **External Access**, you can obtain the Gateway Address and the NodePort of http and https in the list.
{{< notice note >}}
If you want to expose services using the type `LoadBalancer`, you need to use the LoadBalancer plugin of cloud providers. If your Kubernetes cluster is running in a bare metal environment, it is recommended that you use [OpenELB](https://github.com/kubesphere/openelb) as the LoadBalancer plugin.
{{</ notice >}}
![nodeport-setting](/images/docs/quickstart/create-workspaces-projects-accounts/nodeport-setting.png)
### Step 4: Create a role
After you finish the above steps, you know that users can be granted different roles at different levels. The roles used in previous steps are all built-in ones created by KubeSphere. In this step, you will learn how to define a customized role to meet the needs in your work.
1. Log in to the KubeSphere web console as `admin` again and go to **Access Control**.
2. Click **Account Roles** on the left navigation pane, and then click **Create** on the right.
2. Click **Platform Roles** on the left navigation pane, and then click **Create** on the right.
{{< notice note >}}
The preset roles on the **Account Roles** page cannot be edited and deleted.
The preset roles on the **Platform Roles** page cannot be edited and deleted.
{{</ notice >}}
3. In the **Create Account Role** dialog box, set the name (for example, `clusters-admin`), alias, and description of the role, and click **Edit Permissions**.
3. In the **Create Platform Role** dialog box, set the name (for example, `clusters-admin`), alias, and description of the role, and click **Edit Permissions**.
{{< notice note >}}
@ -225,9 +215,9 @@ After you finish the above steps, you know that users can be granted different r
{{</ notice >}}
5. On the **Account Roles** page, you can click the name of the created role to view the role details and click <img src="/images/docs/quickstart/create-workspaces-projects-accounts/operation-icon.png" width="20px" align="center"> to edit the role, edit the role permissions, or delete the role.
5. On the **Platform Roles** page, you can click the name of the created role to view the role details and click <img src="/images/docs/quickstart/create-workspaces-projects-accounts/operation-icon.png" width="20px" align="center"> to edit the role, edit the role permissions, or delete the role.
6. On the **Accounts** page, you can assign the role to a user when you create a user or edit an existing account.
6. On the **Users** page, you can assign the role to an account when you create an account or edit an existing account.
### Step 5: Create a DevOps project (Optional)
@ -246,6 +236,4 @@ To create a DevOps project, you must install the KubeSphere DevOps system in adv
4. Go to **Project Management** and select **Project Members**. Click **Invite Member** to grant `project-regular` the role `operator`, who is allowed to create pipelines and credentials. Click **OK** to finish.
![invite-devops-member](/images/docs/quickstart/create-workspaces-projects-accounts/invite-devops-member.png)
You are now familiar with the multi-tenant management system of KubeSphere. In other tutorials, the account `project-regular` will also be used to demonstrate how to create applications and resources in a project or DevOps project.

View File

@ -44,9 +44,7 @@ The following figure shows the end-to-end architecture of the application. For m
1. Log in to the console as `project-regular` and go to your project (`demo-project`). Go to **Apps** under **Application Workloads**, and then click **Deploy Sample App** on the right of the page.
2. Click **Next** in the displayed dialog box where required fields are pre-populated and relevant components are already set. You do not need to change the settings and just click **Create** on the final page (**Internet Access**).
![create-bookinfo](/images/docs/quickstart/deploy-bookinfo-to-k8s/create-bookinfo.png)
2. Click **Next** in the displayed dialog box where required fields are pre-populated and relevant components are already set. You do not need to change the settings and just click **Create** on the final page (**External Access**).
{{< notice note >}}
@ -54,9 +52,7 @@ KubeSphere creates the hostname automatically. To change the hostname, hover ove
{{</ notice >}}
3. In **Workloads**, verify that the statuses of all four Deployments reach `Running`, which means the app has been created successfully.
![running](/images/docs/quickstart/deploy-bookinfo-to-k8s/running.png)
1. In **Workloads**, verify that the statuses of all four Deployments reach `Running`, which means the app has been created successfully.
{{< notice note >}}It may take a few minutes before the Deployments are up and running.
{{</ notice >}}
@ -70,8 +66,6 @@ KubeSphere creates the hostname automatically. To change the hostname, hover ove
2. On the details page, record the hostname and port number of the app which will be used to access Bookinfo.
![detail-page](/images/docs/quickstart/deploy-bookinfo-to-k8s/detail-page.png)
3. As the app will be accessed outside the cluster through a NodePort, you need to open the port in your security group for outbound traffic and set port forwarding rules if necessary.
4. Edit your local host file (`/etc/hosts`) by adding an entry in it to map the hostname to the IP address. For example:
@ -89,8 +83,6 @@ Do not copy the preceding content to your local host file. Replace it with your
6. On the app details page, click **Normal user** in the lower-left corner.
![normal-user](/images/docs/quickstart/deploy-bookinfo-to-k8s/normal-user.png)
7. In the following figure, you can notice that only **Reviewer1** and **Reviewer2** are displayed without any stars in the **Book Reviews** section. This is the status of this app version. To explore more features of traffic management, you can implement a [canary release](../../project-user-guide/grayscale-release/canary-release/) for this app.
![ratings-page](/images/docs/quickstart/deploy-bookinfo-to-k8s/ratings-page.png)

View File

@ -78,9 +78,7 @@ When you install KubeSphere on Kubernetes, you need to use [ks-installer](https:
kubectl apply -f cluster-configuration.yaml
```
Whether you install KubeSphere on Linux or on Kubernetes, you can check the status of the components you have enabled in the web console of KubeSphere after installation. Go to **System Components**, and you can see an image below:
![component-status](/images/docs/quickstart/enable-pluggable-components/component-status.png)
Whether you install KubeSphere on Linux or on Kubernetes, you can check the status of the components you have enabled in the web console of KubeSphere after installation. Go to **System Components**, and you can see the component status.
## Enable Pluggable Components after Installation
@ -142,8 +140,6 @@ You can find the web kubectl tool by clicking the hammer icon in the bottom-righ
7. In **System Components**, you can see the status of different components.
![component-status-page](/images/docs/quickstart/enable-pluggable-components/component-status-page.png)
{{< notice tip >}}
If you do not see relevant components in the above image, some Pods may not be ready yet. You can execute `kubectl get pod --all-namespaces` through kubectl to see the status of Pods.

View File

@ -54,8 +54,6 @@ After you make sure your machine meets the conditions, perform the following ste
5. After logging in to the console, you can check the status of different components in **System Components**. You may need to wait for some components to be up and running if you want to use related services.
![kubesphere-components](/images/docs/quickstart/minimal-installation-on-k8s/kubesphere-components.png)
## Enable Pluggable Components (Optional)
This guide is used only for the minimal installation by default. For more information about how to enable other components in KubeSphere, see [Enable Pluggable Components](../../pluggable-components/).

View File

@ -32,31 +32,21 @@ About 15 minutes.
The environment variable `WORDPRESS_DB_PASSWORD` is the password to connect to the database in WordPress. In this step, you need to create a Secret to store the environment variable that will be used in the MySQL Pod template.
1. Log in to the KubeSphere console using the account `project-regular`. Go to the detail page of `demo-project` and navigate to **Configurations**. In **Secrets**, click **Create** on the right.
1. Log in to the KubeSphere console using the account `project-regular`. Go to the detail page of `demo-project` and navigate to **Configuration**. In **Secrets**, click **Create** on the right.
![create-secrets1](/images/docs/quickstart/wordpress-deployment/create-secrets1.png)
2. Enter the basic information (for example, name it `mysql-secret`) and click **Next**. On the next page, select **Opaque (Default)** for **Type** and click **Add Data** to add a key-value pair. Enter the Key (`MYSQL_ROOT_PASSWORD`) and Value (`123456`) as below and click **√** in the bottom-right corner to confirm. When you finish, click **Create** to continue.
![key-value1](/images/docs/quickstart/wordpress-deployment/key-value1.png)
2. Enter the basic information (for example, name it `mysql-secret`) and click **Next**. On the next page, select **Opaque (Default)** for **Type** and click **Add Data** to add a key-value pair. Enter the Key (`MYSQL_ROOT_PASSWORD`) and Value (`123456`) and click **√** in the lower-right corner to confirm. When you finish, click **Create** to continue.
#### Create a WordPress Secret
Follow the same steps above to create a WordPress Secret `wordpress-secret` with the key `WORDPRESS_DB_PASSWORD` and value `123456`. Secrets created display in the list as below:
![wordpress-secrets1](/images/docs/quickstart/wordpress-deployment/wordpress-secrets1.png)
Follow the same steps above to create a WordPress Secret `wordpress-secret` with the key `WORDPRESS_DB_PASSWORD` and value `123456`. Secrets created display in the list.
### Step 2: Create a volume
1. Go to **Volumes** under **Storage** and click **Create**.
![volumes1](/images/docs/quickstart/wordpress-deployment/volumes1.png)
2. Enter the basic information of the volume (for example, name it `wordpress-pvc`) and click **Next**.
3. In **Volume Settings**, you need to choose an available **Storage Class**, and set **Access Mode** and **Volume Capacity**. You can use the default value directly as shown below. Click **Next** to continue.
![volume-settings1](/images/docs/quickstart/wordpress-deployment/volume-settings1.png)
3. In **Volume Settings**, you need to choose an available **Storage Class**, and set **Access Mode** and **Volume Capacity**. You can use the default value directly. Click **Next** to continue.
4. For **Advanced Settings**, you do not need to add extra information for this step and click **Create** to finish.
@ -64,31 +54,19 @@ Follow the same steps above to create a WordPress Secret `wordpress-secret` with
#### Add MySQL backend components
1. Navigate to **Apps** under **Application Workloads**, select **Composing Apps** and click **Create Composing App**.
1. Navigate to **Apps** under **Application Workloads**, select **Composed Apps** and click **Create**.
![composing-app1](/images/docs/quickstart/wordpress-deployment/composing-app1.png)
2. Enter the basic information (for example, `wordpress` for **Name**) and click **Next**.
2. Enter the basic information (for example, `wordpress` for **App Name**) and click **Next**.
3. In **External Access**, click **Add Service** to set a service in the app.
![basic-info1](/images/docs/quickstart/wordpress-deployment/basic-info1.png)
3. In **System Components**, click **Add Service** to set a component in the app.
![add-service1](/images/docs/quickstart/wordpress-deployment/add-service1.png)
4. Define a service type for the component. Select **Stateful Service** here.
4. Select **Stateful Service** to define the service type.
5. Enter the name for the stateful service (for example, **mysql**) and click **Next**.
![mysqlname1](/images/docs/quickstart/wordpress-deployment/mysqlname1.png)
6. In **Containers**, click **Add Container**.
6. In **Container Image**, click **Add Container Image**.
![container-image1](/images/docs/quickstart/wordpress-deployment/container-image1.png)
7. Enter `mysql:5.6` in the search box, press **Enter** and click **Use Default Ports**. After that, do not click **√** in the bottom-right corner as the setting is not finished yet.
![add-container1](/images/docs/quickstart/wordpress-deployment/add-container1.png)
7. Enter `mysql:5.6` in the search box, press **Enter** and click **Use Default Port**. After that, do not click **√** in the lower-right corner as the setting is not finished yet.
{{< notice note >}}
@ -96,35 +74,21 @@ In **Advanced Settings**, make sure the memory limit is no less than 1000 Mi or
{{</ notice >}}
8. Scroll down to **Environment Variables** and click **Use ConfigMap or Secret**. Enter the name `MYSQL_ROOT_PASSWORD` and choose the resource `mysql-secret` and the key `MYSQL_ROOT_PASSWORD` created in the previous step. Click **√** after you finish and **Next** to continue.
1. Scroll down to **Environment Variables** and click **Use ConfigMap or Secret**. Enter the name `MYSQL_ROOT_PASSWORD` and choose the resource `mysql-secret` and the key `MYSQL_ROOT_PASSWORD` created in the previous step. Click **√** after you finish and **Next** to continue.
![environment-var1](/images/docs/quickstart/wordpress-deployment/environment-var1.png)
9. Select **Add Volume Template** in **Mount Volumes**. Enter the value of **Volume Name** (`mysql`) and **Mount Path** (mode: `ReadAndWrite`, path: `/var/lib/mysql`) as below:
![volume-template1](/images/docs/quickstart/wordpress-deployment/volume-template1.png)
2. Click **Add Volume Template** under **Volume Templates**. Enter the value of **Volume Name** (`mysql`) and **Mount Path** (mode: `ReadAndWrite`, path: `/var/lib/mysql`).
Click **√** after you finish and click **Next** to continue.
10. In **Advanced Settings**, you can click **Add** directly or select other options based on your needs.
![advanced-settings1](/images/docs/quickstart/wordpress-deployment/advanced-settings1.png)
11. The MySQL component has beed added as shown below:
![mysql-finished1](/images/docs/quickstart/wordpress-deployment/mysql-finished1.png)
3. In **Advanced Settings**, you can click **Add** directly or select other options based on your needs.
#### Add the WordPress frontend component
12. Click **Add Service** again and select **Stateless Service** this time. Enter the name `wordpress` and click Next.
12. Click **Add Service** again and select **Stateless Service** this time. Enter the name `wordpress` and click **Next**.
![name-wordpress-1](/images/docs/quickstart/wordpress-deployment/name-wordpress-1.png)
13. Similar to previous steps, click **Add Container**, enter `wordpress:4.8-apache` in the search box, press **Enter** and click **Use Default Port**.
13. Similar to the step above, click **Add Container Image**, enter `wordpress:4.8-apache` in the search box, press **Enter** and click **Use Default Ports**.
![container-image-page1](/images/docs/quickstart/wordpress-deployment/container-image-page1.png)
14. Scroll down to **Environment Variables** and click **Use ConfigMap or Secret**. Two environment variables need to be added here. Enter the values according to the screenshot below.
14. Scroll down to **Environment Variables** and click **Use ConfigMap or Secret**. Two environment variables need to be added here. Enter the values as follows.
- For `WORDPRESS_DB_PASSWORD`, choose `wordpress-secret` and `WORDPRESS_DB_PASSWORD` created in Task 1.
@ -132,7 +96,7 @@ In **Advanced Settings**, make sure the memory limit is no less than 1000 Mi or
{{< notice warning >}}
For the second environment variable added here, the value must be exactly the same as the name you set for MySQL in step 5. Otherwise, Wordpress cannot connect to the corresponding database of MySQL.
For the second environment variable added here, the value must be the same as the name you set for MySQL in step 5. Otherwise, WordPress cannot connect to the corresponding database of MySQL.
{{</ notice >}}
@ -140,57 +104,31 @@ For the second environment variable added here, the value must be exactly the sa
Click **√** to save it and **Next** to continue.
15. In **Mount Volumes**, click **Add Volume** and select **Choose an existing volume**.
1. Under **Volumes**, click **Mount Volume**, and then click **Select Volume**.
![add-volume-page1](/images/docs/quickstart/wordpress-deployment/add-volume-page1.png)
2. Select `wordpress-pvc` created in the previous step, set the mode as `ReadAndWrite`, and enter `/var/www/html` as its mount path. Click **√** to save it, and then click **Next** to continue.
![choose-existing-volume1](/images/docs/quickstart/wordpress-deployment/choose-existing-volume1.png)
3. In **Advanced Settings**, you can click **Add** directly or select other options based on your needs.
16. Select `wordpress-pvc` created in the previous step, set the mode as `ReadAndWrite`, and enter `/var/www/html` as its mount path. Click **√** to save it and **Next** to continue.
4. The frontend component is also set now. Click **Next** to continue.
![mount-volume-page1](/images/docs/quickstart/wordpress-deployment/mount-volume-page1.png)
5. You can set route rules (Ingress) here or click **Create** directly.
17. In **Advanced Settings**, you can click **Add** directly or select other options based on your needs.
![advanced1](/images/docs/quickstart/wordpress-deployment/advanced1.png)
18. The frontend component is also set now. Click **Next** to continue.
![components-finished1](/images/docs/quickstart/wordpress-deployment/components-finished1.png)
19. You can set route rules (Ingress) here or click **Create** directly.
![ingress-create1](/images/docs/quickstart/wordpress-deployment/ingress-create1.png)
20. The app will display in the list below after you create it.
![application-created1](/images/docs/quickstart/wordpress-deployment/application-created1.png)
6. The app will display in the list after you create it.
### Step 4: Verify resources
In **Workloads**, check the status of `wordpress-v1` and `mysql-v1` in **Deployments** and **StatefulSets** respectively. If they are running as shown in the image below, it means WordPress has been created successfully.
![wordpress-deployment1](/images/docs/quickstart/wordpress-deployment/wordpress-deployment1.png)
![mysql-running1](/images/docs/quickstart/wordpress-deployment/mysql-running1.png)
In **Workloads**, check the status of `wordpress-v1` and `mysql-v1` in **Deployments** and **StatefulSets** respectively. If they are running properly, it means WordPress has been created successfully.
### Step 5: Access WordPress through a NodePort
1. To access the Service outside the cluster, navigate to **Services** first. Click the three dots on the right of `wordpress` and select **Edit Internet Access**.
![edit-internet-access1](/images/docs/quickstart/wordpress-deployment/edit-internet-access1.png)
1. To access the Service outside the cluster, navigate to **Services** first. Click the three dots on the right of `wordpress` and select **Edit External Access**.
2. Select `NodePort` for **Access Method** and click **OK**.
![access-method](/images/docs/quickstart/wordpress-deployment/access-method.png)
3. Click the Service and you can see the port is exposed.
![nodeport-number1](/images/docs/quickstart/wordpress-deployment/nodeport-number1.png)
4. Access this application at `{Node IP}:{NodePort}` and you can see an image as below:
![wordpress-page](/images/docs/quickstart/wordpress-deployment/wordpress-page.png)
4. Access this application at `{Node IP}:{NodePort}`.
{{< notice note >}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1002 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 694 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 953 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Some files were not shown because too many files have changed in this diff Show More