diff --git a/docs/Writerside/hi.tree b/docs/Writerside/hi.tree
index 580e6aa..a825e82 100644
--- a/docs/Writerside/hi.tree
+++ b/docs/Writerside/hi.tree
@@ -14,6 +14,9 @@
+
+
+
diff --git a/docs/Writerside/topics/kubernetes.md b/docs/Writerside/topics/kubernetes.md
index a82283d..4ed5615 100644
--- a/docs/Writerside/topics/kubernetes.md
+++ b/docs/Writerside/topics/kubernetes.md
@@ -2,4 +2,5 @@
## Contents
-* [Using NVIDIA GPU Resource on Kubernetes](Using-NVIDIA-GPU-Resources-on-Kubernetes.md)
\ No newline at end of file
+* [Using NVIDIA GPU Resource on Kubernetes](Using-NVIDIA-GPU-Resources-on-Kubernetes.md)
+* [Kubeflow](Kubeflow.md)
\ No newline at end of file
diff --git a/docs/Writerside/topics/kubernetes/Install-Kubeflow-1-6-1.md b/docs/Writerside/topics/kubernetes/Install-Kubeflow-1-6-1.md
new file mode 100644
index 0000000..b3f5ce1
--- /dev/null
+++ b/docs/Writerside/topics/kubernetes/Install-Kubeflow-1-6-1.md
@@ -0,0 +1,366 @@
+# Install Kubeflow 1.6.1
+
+**Table of Contents**
+
+- [Prerequisites](#prerequisites)
+- [Download and unzip Kubeflow 1.6.1 manifests](#download-and-unzip-kubeflow-1-6-1-manifests)
+ - [Install zip via apt](#install-zip-via-apt)
+ - [Download Kubeflow 1.6.1 manifests](#download-kubeflow-1-6-1-manifests)
+ - [Unzip Kubeflow 1.6.1 manifests](#unzip-kubeflow-1-6-1-manifests)
+- [Download Kustomize 3.2.0](#download-kustomize-3-2-0)
+- [Install Kubeflow to Kubernetes](#install-kubeflow-to-kubernetes)
+ - [Prepare](#prepare)
+ - [PV for Kubernetes](#pv-for-kubernetes)
+ - [Patch Kubeflow manifests](#patch-kubeflow-manifests)
+ - [Istio](#istio)
+ - [Knative Serving](#knative-serving)
+ - [Cert Manager](#cert-manager)
+ - [KServe](#kserve)
+ - [KServe Built-in ClusterServingRuntimes](#kserve-built-in-clusterservingruntimes)
+ - [Other](#other)
+ - [Dex](#dex)
+ - [OIDC AuthService](#oidc-authservice)
+ - [Kubeflow Namespace](#kubeflow-namespace)
+ - [Kubeflow Roles](#kubeflow-roles)
+ - [Kubeflow Istio Resources](#kubeflow-istio-resources)
+ - [Kubeflow Pipelines](#kubeflow-pipelines)
+ - [katib](#katib)
+ - [Central Dashboard](#central-dashboard)
+ - [Admission Webhook](#admission-webhook)
+ - [Notebooks](#notebooks)
+ - [Profiles + KFAM](#profiles-kfam)
+ - [Volumes Web App](#volumes-web-app)
+ - [Tensorboard](#tensorboard)
+ - [Training Operator](#training-operator)
+ - [User Namespace](#user-namespace)
+
+## Prerequisites
+
+[Kubeflow 1.6.1 Official GitHub Repository](https://github.com/kubeflow/manifests/tree/v1.6.0)
+
+* Kubernetes (up to 1.22) with default StorageClass
+ * [Kubernetes 1.23 install script](https://raw.githubusercontent.com/leoho0722/airflow-mnist-example/kubeflow/scripts/install-kubernetes-v1.23-goldshadow.sh)
+* Kustomize (version 3.2.0)
+* kubectl
+
+## Download and unzip Kubeflow 1.6.1 manifests
+
+### Install zip via apt
+
+```Shell
+cd ~
+sudo apt-get update
+sudo apt-get install -y zip
+```
+
+### Download Kubeflow 1.6.1 manifests
+
+```Shell
+wget -O manifests-1.6.1.zip https://github.com/kubeflow/manifests/archive/refs/tags/v1.6.1.zip
+```
+
+### Unzip Kubeflow 1.6.1 manifests
+
+```Shell
+unzip manifests-1.6.1.zip -d .
+```
+
+## Download Kustomize 3.2.0
+
+```Shell
+cd ./manifests-1.6.1
+wget -O kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.2.0/kustomize_3.2.0_linux_amd64
+```
+
+## Install Kubeflow to Kubernetes
+
+### Prepare
+
+```Shell
+sudo rm -rf /mnt
+sudo mkdir -p /mnt/minio # Others will be created automatically.
+```
+
+#### PV for Kubernetes
+
+Save the following yaml content as ```kubeflow-pv.yaml``` and store it in the kubeflow manifests directory
+
+```yaml
+# Notice: Save this file in the kubeflow manifests directory
+
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: katib-mysql-pv
+ namespace: kubeflow
+ labels:
+ type: local
+ name: katib-mysql
+spec:
+ capacity:
+ storage: 10Gi
+ accessModes:
+ - ReadWriteOnce
+ hostPath:
+ path: "/mnt/katib-mysql"
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: minio-pv
+ namespace: kubeflow
+ labels:
+ type: local
+ name: kubeflow
+spec:
+ capacity:
+ storage: 20Gi
+ accessModes:
+ - ReadWriteOnce
+ hostPath:
+ path: "/mnt/minio"
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: mysql-pv
+ namespace: kubeflow
+ labels:
+ type: local
+ name: kubeflow
+spec:
+ capacity:
+ storage: 20Gi
+ accessModes:
+ - ReadWriteOnce
+ hostPath:
+ path: "/mnt/mysql"
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: authservice-pv
+ namespace: istio-system
+ labels:
+ type: local
+ name: authservice
+spec:
+ capacity:
+ storage: 20Gi
+ accessModes:
+ - ReadWriteOnce
+ hostPath:
+ path: "/mnt/autoservice"
+```
+
+#### Default StorageClass
+
+Save the following yaml content as ```default-storageclass.yaml``` and store it in the kubeflow manifests directory
+
+```yaml
+apiVersion: storage.k8s.io/v1
+kind: StorageClass
+metadata:
+ annotations:
+ storageclass.kubernetes.io/is-default-class: "true"
+ name: standard
+provisioner: kubernetes.io/no-provisioner
+volumeBindingMode: WaitForFirstConsumer
+```
+
+```Shell
+kubectl apply -f default-storageclass.yaml
+```
+
+#### Patch Kubeflow manifests
+
+Replace the original yaml file with the following content ↓
+
+Reference: https://blog.csdn.net/qq_39698985/article/details/123981927
+
+Original file path: ```manifests-1.6.1/common/oidc-authservice/base/statefulset.yaml```
+
+```yaml
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: authservice
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: authservice
+ serviceName: authservice
+ template:
+ metadata:
+ annotations:
+ sidecar.istio.io/inject: "false"
+ labels:
+ app: authservice
+ spec:
+ # ===== FIXED PERSSIONS START =====
+ # Fix Error opening bolt store: open /var/lib/authservice/data.db: permission denied
+ initContainers:
+ - name: fix-permissions
+ image: busybox
+ command: ["sh", "-c"]
+ args: ["chmod -R 777 /var/lib/authservice;"]
+ volumeMounts:
+ - name: data
+ mountPath: /var/lib/authservice
+ # ===== FIXED PERSSIONS END =====
+ containers:
+ - name: authservice
+ image: gcr.io/arrikto/kubeflow/oidc-authservice:6ac9400
+ imagePullPolicy: Always
+ ports:
+ - name: http-api
+ containerPort: 8080
+ envFrom:
+ - secretRef:
+ name: oidc-authservice-client
+ - configMapRef:
+ name: oidc-authservice-parameters
+ volumeMounts:
+ - name: data
+ mountPath: /var/lib/authservice
+ readinessProbe:
+ httpGet:
+ path: /
+ port: 8081
+ securityContext:
+ fsGroup: 111
+ volumes:
+ - name: data
+ persistentVolumeClaim:
+ claimName: authservice-pvc
+```
+
+### Istio
+
+```Shell
+./kustomize build common/istio-1-14/istio-crds/base | kubectl apply -f -
+./kustomize build common/istio-1-14/istio-namespace/base | kubectl apply -f -
+./kustomize build common/istio-1-14/istio-install/base | kubectl apply -f -
+```
+
+### Knative Serving
+
+```Shell
+./kustomize build common/knative/knative-serving/overlays/gateways | kubectl apply -f -
+./kustomize build common/istio-1-14/cluster-local-gateway/base | kubectl apply -f -
+```
+
+### Cert Manager
+
+```Shell
+./kustomize build common/cert-manager/cert-manager/base | kubectl apply -f -
+./kustomize build common/cert-manager/kubeflow-issuer/base | kubectl apply -f -
+```
+
+### KServe
+
+```Shell
+kubectl apply -f https://github.com/kserve/kserve/releases/download/v0.8.0/kserve.yaml
+```
+
+### KServe Built-in ClusterServingRuntimes
+
+```Shell
+kubectl apply -f https://github.com/kserve/kserve/releases/download/v0.8.0/kserve-runtimes.yaml
+```
+
+### Other
+
+#### Dex
+
+```Shell
+./kustomize build common/dex/overlays/istio | kubectl apply -f -
+```
+
+#### OIDC AuthService
+
+```Shell
+./kustomize build common/oidc-authservice/base | kubectl apply -f -
+kubectl apply -f kubeflow-pv.yaml -l name=authservice
+```
+
+#### Kubeflow Namespace
+
+```Shell
+./kustomize build common/kubeflow-namespace/base | kubectl apply -f -
+```
+
+#### Kubeflow Roles
+
+```Shell
+./kustomize build common/kubeflow-roles/base | kubectl apply -f -
+```
+
+#### Kubeflow Istio Resources
+
+```Shell
+./kustomize build common/istio-1-14/kubeflow-istio-resources/base | kubectl apply -f -
+```
+
+#### Kubeflow Pipelines
+
+```Shell
+./kustomize build apps/pipeline/upstream/env/cert-manager/platform-agnostic-multi-user | kubectl apply -f -
+kubectl apply -f kubeflow-pv.yaml -l name=kubeflow
+```
+
+#### katib
+
+```Shell
+./kustomize build apps/katib/upstream/installs/katib-with-kubeflow | kubectl apply -f -
+kubectl apply -f kubeflow-pv.yaml -l name=katib-mysql
+```
+
+#### Central Dashboard
+
+```Shell
+./kustomize build apps/centraldashboard/upstream/overlays/kserve | kubectl apply -f -
+```
+
+#### Admission Webhook
+
+```Shell
+./kustomize build apps/admission-webhook/upstream/overlays/cert-manager | kubectl apply -f -
+```
+
+#### Notebooks
+
+```Shell
+./kustomize build apps/jupyter/notebook-controller/upstream/overlays/kubeflow | kubectl apply -f -
+```
+
+#### Profiles + KFAM
+
+```Shell
+./kustomize build apps/profiles/upstream/overlays/kubeflow | kubectl apply -f -
+```
+
+#### Volumes Web App
+
+```Shell
+./kustomize build apps/volumes-web-app/upstream/overlays/istio | kubectl apply -f -
+```
+
+#### Tensorboard
+
+```Shell
+./kustomize build apps/tensorboard/tensorboards-web-app/upstream/overlays/istio | kubectl apply -f -
+```
+
+#### Training Operator
+
+```Shell
+./kustomize build apps/training-operator/upstream/overlays/kubeflow | kubectl apply -f -
+```
+
+#### User Namespace
+
+```Shell
+./kustomize build common/user-namespace/base | kubectl apply -f -
+```
diff --git a/docs/Writerside/topics/kubernetes/Kubeflow.md b/docs/Writerside/topics/kubernetes/Kubeflow.md
new file mode 100644
index 0000000..cd59196
--- /dev/null
+++ b/docs/Writerside/topics/kubernetes/Kubeflow.md
@@ -0,0 +1,5 @@
+# Kubeflow
+
+## Versions
+
+* [Kubeflow 1.6.1](Install-Kubeflow-1-6-1.md)
\ No newline at end of file