Skip to content

Commit da44022

Browse files
authored
Merge pull request #514 from andyzhangx/blobfuse-proxy-doc
doc: update blobfuse-proxy doc
2 parents 80a530b + b619381 commit da44022

File tree

5 files changed

+25
-31
lines changed

5 files changed

+25
-31
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ This option does not depend on cloud provider config file, supports cross subscr
4343
### Install driver on a Kubernetes cluster
4444
- install via [kubectl](./docs/install-blob-csi-driver.md) on public Azure (please use helm for Azure Stack, RedHat/CentOS)
4545
- install via [helm charts](./charts) on public Azure, Azure Stack, RedHat/CentOS
46-
- configure with [blobfuse-proxy](./pkg/blobfuse-proxy) to make blobfuse mount still available after driver restart
46+
- configure with [blobfuse-proxy](./deploy/blobfuse-proxy) to make blobfuse mount still available after driver restart
4747
4848
### Usage
4949
- [Basic usage](./deploy/example/e2e_usage.md)

charts/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
- [install Helm](https://helm.sh/docs/intro/quickstart/#install-helm)
55

66
### Tips
7-
- configure with [blobfuse-proxy](../pkg/blobfuse-proxy) to make blobfuse mount still available after driver restart
7+
- configure with [blobfuse-proxy](../deploy/blobfuse-proxy) to make blobfuse mount still available after driver restart
8+
- specify `node.enableBlobfuseProxy=true` together with [blobfuse-proxy](../deploy/blobfuse-proxy)
89
- make controller only run on master node: `--set controller.runOnMaster=true`
910
- enable `fsGroupPolicy` on a k8s 1.20+ cluster: `--set feature.enableFSGroupPolicy=true`
1011
- set replica of controller as `1`: `--set controller.replicas=1`

deploy/blobfuse-proxy/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Blobfuse Proxy
2+
- supported CSI driver version: v1.1.0 or later version
3+
- only available on debian based OS
4+
5+
By default, restart csi-blobfuse-node daemonset would make current blobfuse mounts unavailable. When fuse nodeserver restarts on the node, the fuse daemon also restarts, this results in breaking all connections FUSE daemon is maintaining. You could find more details here: [No easy way how to update CSI driver that uses fuse](https://github.com/kubernetes/kubernetes/issues/70013).
6+
7+
This guide shows how to install a blobfuse proxy on all agent nodes and the proxy would mount volumes, maintain FUSE connections.
8+
9+
### Step#1. Install blobfuse-proxy on debian based agent nodes
10+
> following daemonset would also install latest [blobfuse](https://github.com/Azure/azure-storage-fuse) version on the node, set `INSTALL_BLOBFUSE` environment variable as `false` to disable blobfuse installation.
11+
```console
12+
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/blobfuse-proxy/blobfuse-proxy.yaml
13+
```
14+
15+
### Step#2. Install Blob CSI driver with `node.enableBlobfuseProxy=true` helm chart setting
16+
> another opition: set `enableBlobfuseProxy=true` in existing `csi-blob-node` daemonset
17+
```console
18+
helm repo add blob-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts
19+
helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.4.0 --set node.enableBlobfuseProxy=true
20+
```

deploy/csi-blob-node.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ spec:
8585
args:
8686
- "--v=5"
8787
- "--endpoint=$(CSI_ENDPOINT)"
88+
- "--enable-blobfuse-proxy=false"
8889
- "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)"
8990
- "--nodeid=$(KUBE_NODE_NAME)"
9091
- "--metrics-address=0.0.0.0:29635"

pkg/blobfuse-proxy/README.md

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,5 @@
1-
# blobfuse-proxy
2-
- supported CSI driver version: v1.1.0 or later version
3-
- only available on debian based OS
1+
# Blobfuse Proxy Development
42

5-
By default, restart csi-blobfuse-node daemonset would make current blobfuse mounts unavailable. When fuse nodeserver restarts on the node, the fuse daemon also restarts, this results in breaking all connections FUSE daemon is maintaining. You could find more details here: [No easy way how to update CSI driver that uses fuse](https://github.com/kubernetes/kubernetes/issues/70013).
6-
7-
This page shows how to run a blobfuse proxy on all agent nodes and this proxy mounts volumes, maintains FUSE connections.
8-
> Blobfuse proxy receives mount request in a GRPC call and then uses this data to mount and returns the output of the blobfuse command.
9-
10-
### Step#1. Install blobfuse-proxy on debian based agent node
11-
> below daemonset would also install latest [blobfuse](https://github.com/Azure/azure-storage-fuse) version on the node
12-
```console
13-
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/blobfuse-proxy/blobfuse-proxy.yaml
14-
```
15-
16-
### Step#2. Install Blob CSI driver with `node.enableBlobfuseProxy=true` helm chart setting
17-
```console
18-
helm repo add blob-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts
19-
helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.4.0 --set node.enableBlobfuseProxy=true
20-
```
21-
22-
#### Troubleshooting
23-
- Get `blobfuse-proxy` logs on the node
24-
```console
25-
kubectl get po -n kube-system -o wide | grep blobfuse-proxy
26-
csi-blobfuse-proxy-47kpp 1/1 Running 0 37m
27-
kubectl logs -n kube-system csi-blobfuse-proxy-47kpp
28-
```
29-
30-
#### Development
313
- install blobfuse-proxy package, run as a service manually
324
```console
335
wget https://github.com/kubernetes-sigs/blob-csi-driver/raw/master/deploy/blobfuse-proxy/v0.1.0/blobfuse-proxy-v0.1.0.deb -O /tmp/blobfuse-proxy-v0.1.0.deb

0 commit comments

Comments
 (0)