Skip to content
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

CromwellOnAzure On AKS #354

Merged
merged 127 commits into from
Sep 16, 2022
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
bec8ebf
WIP
jsaun Jan 26, 2022
bd37f9a
Working blob storage driver
jsaun Feb 22, 2022
58886d1
Remove redudancies, update proj file
jsaun Feb 23, 2022
cb30e84
Fix blobfuse
jsaun Apr 23, 2022
ef68490
Clean up
jsaun Apr 23, 2022
144b6f1
Update reclaim policy to retain
jsaun Apr 23, 2022
852b41d
Use CoA Vnet for AKS
jsaun Apr 26, 2022
bc26b37
Support dynamic blob container mounting
jsaun Apr 26, 2022
97e9a9e
Typo and cleanup
jsaun Apr 26, 2022
54e6452
Fix LogAnalytics
jsaun Apr 28, 2022
65c4b13
Use CoA ManagedId for AKS
jsaun Apr 28, 2022
f5575a8
Make namespace configurable
jsaun May 5, 2022
fd6be7d
Create namespace if it doesn't exist
jsaun May 6, 2022
d1c8c82
Update Deployer.cs
jsaun May 6, 2022
1cbea5f
Refactoring to enable upgrade of AKS deployments
jsaun May 7, 2022
fd20144
Require storage account if upgrading aks deployment
jsaun May 7, 2022
44b2c7c
Switch namespace
jsaun May 10, 2022
d6a8f94
Allow updating TES deployment to reload containers
jsaun May 10, 2022
25e041a
Update args validation for AKS
jsaun May 10, 2022
3ec9629
Minor cleanup
jsaun May 13, 2022
e8bc4d0
Persist env- settings to storage account
jsaun May 13, 2022
a214e96
Allow updating deployed image versions
jsaun May 17, 2022
1723b9d
Move kubernetes functions to separate class
jsaun May 18, 2022
3f27bd7
Remove unused method
jsaun May 18, 2022
3658d7c
Mount containers for cromwell and refactorings
jsaun May 21, 2022
d2215be
Merge branch 'main' into jsaun/coa-on-aks
jsaun May 21, 2022
f315b50
Add compatibility for for AKS with managed mysql
jsaun May 22, 2022
2965318
Fix whitespace?
jsaun May 22, 2022
af35194
Add private networking flag for AKS
jsaun May 23, 2022
cc3229a
PR clean up
jsaun May 23, 2022
15d6d86
Clean up
jsaun May 23, 2022
a5819c9
Style
jsaun May 24, 2022
f37d0bb
Missed file
jsaun May 24, 2022
380a055
Line endings
jsaun May 24, 2022
22f1b66
Make pool size configurable
jsaun May 24, 2022
0d53a6c
Add mysql data disk without caching
jsaun May 24, 2022
dfe3c49
Separate settings into two files
jsaun May 24, 2022
fd81526
Unlock change log on update not creation.
jsaun May 24, 2022
22eed0c
Update docs
jsaun Jun 15, 2022
7450030
Sort imports
jsaun Jun 16, 2022
f810167
PR fixes
jsaun Jun 21, 2022
1ffe375
Skip install if CSI driver already exists
jsaun Jun 21, 2022
3a11f7d
Fix missing import
jsaun Jun 21, 2022
924ae0c
Fix silent print handler
jsaun Jun 21, 2022
419685c
Merge branch 'main' into jsaun/coa-on-aks
jsaun Jun 22, 2022
ff384da
Fix merge issue
jsaun Jun 24, 2022
05ecf8b
Bind AKS and postgres features
jsaun Jun 24, 2022
1d7b20f
Fix postgres setup from K8
jsaun Jun 28, 2022
96f99cd
Initial helm chart
jsaun Jul 15, 2022
ed9899e
Working helm with dynamic pvcs
jsaun Jul 22, 2022
0da8c41
Remove kube api code, and cleanup
jsaun Jul 22, 2022
9dce5f9
Add missing external storage containers env var
jsaun Jul 26, 2022
7f95f86
Add flag for debug logging
jsaun Jul 27, 2022
8168f11
Move helm mysql deployment file
jsaun Jul 28, 2022
64d882b
Print postgresql command for manual helm deployment
jsaun Jul 29, 2022
05613b3
Cleanup
jsaun Jul 29, 2022
8f647b5
Supply namespace to Helm
jsaun Aug 1, 2022
ba17d47
Update helm values for manual deployment
jsaun Aug 1, 2022
cd28eed
Remove Helm MySQL config
jsaun Aug 1, 2022
fc53019
Pass custom images to Helm
jsaun Aug 2, 2022
f938c6d
Address PR comments
jsaun Aug 2, 2022
9093eea
Remove unused imports
jsaun Aug 2, 2022
6f091dd
Add postgres / aks feature coupling again
jsaun Aug 2, 2022
ee0b90b
Clean up and fix
jsaun Aug 3, 2022
7b0930c
Fix exception handling
jsaun Aug 3, 2022
674090b
Make batch/aks account query safe
jsaun Aug 3, 2022
723055e
Remove unneeded print
jsaun Aug 3, 2022
bbaff87
Make clustername optional for manual helm deployment
jsaun Aug 3, 2022
efc0064
Rename mysql subnet to sql subnet
jsaun Aug 4, 2022
e464584
Pass remaining parameters
jsaun Aug 4, 2022
0527566
Allow passing existing postgresql server
jsaun Aug 5, 2022
186de62
Use storage account key based access rather than managed identity
jsaun Aug 13, 2022
a9c3464
Update blob-fuse to Retain instead of Delete
jsaun Aug 15, 2022
778f963
Add option to use postgresql single server
jsaun Aug 18, 2022
b391fb3
Use aadpodidentity plugin
jsaun Aug 18, 2022
4387e56
Fix Identity plugin
jsaun Aug 25, 2022
231d21d
Move storage key to azure keyvault
jsaun Aug 25, 2022
e829d0d
Add missing params
jsaun Aug 25, 2022
d3dccd2
Name helm chart
jsaun Aug 29, 2022
4f2ceed
Update saved settings
jsaun Sep 1, 2022
c09a9ce
Make postgresql flag accessible
jsaun Sep 1, 2022
964012a
Add AKS documentation
jsaun Sep 1, 2022
c8d9e58
Default to null to fix validation
jsaun Sep 1, 2022
f140a7c
Fix update
jsaun Sep 1, 2022
158dc6e
Move billing reader assignment before compute
jsaun Sep 1, 2022
42136fd
Remove blob-csi / aad-plugin install from update path.
jsaun Sep 1, 2022
a28908c
Fix volume handle for updates and include outputs by default.
jsaun Sep 1, 2022
c4d285b
Merge branch 'develop' into jsaun/coa-on-aks
jsaun Sep 2, 2022
0712a7f
Fix merge issues
jsaun Sep 2, 2022
12fd45c
Suppress credscan
jsaun Sep 2, 2022
a20cf08
Only provision key vault for AKS deployments
jsaun Sep 2, 2022
1252b3d
PR clean up
jsaun Sep 2, 2022
e6fe8d7
Add new configuration to list
jsaun Sep 2, 2022
c108810
Remove original k8s files
jsaun Sep 2, 2022
25a3f73
Update proj file
jsaun Sep 2, 2022
10cb598
Revert launchSettings
jsaun Sep 2, 2022
5d735e3
Fix change
jsaun Sep 2, 2022
8346b17
Fix proj setting
jsaun Sep 2, 2022
7afe8b5
Cleanup
jsaun Sep 2, 2022
c8eccdb
Whitespace
jsaun Sep 2, 2022
b550cdb
Merge branch 'jsaun/coa-on-aks' of github.com:microsoft/CromwellOnAzu…
jsaun Sep 2, 2022
b5a55db
Missed method signature
jsaun Sep 2, 2022
d0a7641
More whitespace
jsaun Sep 2, 2022
728e9b3
Fix merge error
jsaun Sep 2, 2022
5a1aee2
Style
jsaun Sep 2, 2022
f8ddce9
Merge branch 'develop' into jsaun/coa-on-aks
jsaun Sep 2, 2022
dab7fb8
Typo
jsaun Sep 9, 2022
710dc3e
Add retries to command execution instead of waiting for 40 secs.
jsaun Sep 9, 2022
8874a67
Fix line endings
jsaun Sep 9, 2022
2c0ff98
Merge branch 'jsaun/coa-on-aks' of github.com:microsoft/CromwellOnAzu…
jsaun Sep 9, 2022
734d5c0
Address PR comments
jsaun Sep 10, 2022
2b703fa
Add UserObjectId to the documentation
jsaun Sep 12, 2022
7eb6b82
Use Polly for retry loops
jsaun Sep 12, 2022
2782ee4
Rename helmexe to helmbinary
jsaun Sep 12, 2022
2ddead5
Address PR feedback
jsaun Sep 13, 2022
cc24818
Update kubernetes client
jsaun Sep 13, 2022
aa36b21
Fix missed paths
jsaun Sep 13, 2022
ad46d1f
Add trailing separator to externalSasContainers list
jsaun Sep 13, 2022
e812e6c
Log exceptions
jsaun Sep 13, 2022
579da10
Duplicate line with LF to register with Git
jsaun Sep 13, 2022
16a4ac8
Remove duplicate
jsaun Sep 13, 2022
7072a93
Merge branch 'develop' into jsaun/coa-on-aks
jsaun Sep 14, 2022
134a62e
Merge remote-tracking branch 'origin/develop' into jsaun/coa-on-aks
jsaun Sep 14, 2022
f1baa5c
Merge branch 'jsaun/coa-on-aks' of github.com:microsoft/CromwellOnAzu…
jsaun Sep 14, 2022
8f33470
Remove references to getting the objectId from rbac graph client for …
jsaun Sep 14, 2022
85f713a
Fix existing key vault functionality
jsaun Sep 14, 2022
60ba008
CoA on AKS - async updates (#479)
MattMcL4475 Sep 15, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/Common/Common.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,12 @@
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Azure.Core" Version="1.22.0" />
</ItemGroup>

<ItemGroup>
<Folder Include="Autorest\" />
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/deploy-cromwell-on-azure/Configuration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ public class Configuration
public string LogAnalyticsArmId { get; set; }
public string ApplicationInsightsAccountName { get; set; }
public string VmName { get; set; }
public bool UseAks { get; set; }
jsaun marked this conversation as resolved.
Show resolved Hide resolved
public string AksCluserName { get; set; }
public bool Silent { get; set; }
public bool DeleteResourceGroupOnFailure { get; set; }
public string CromwellVersion { get; set; }
Expand Down
540 changes: 502 additions & 38 deletions src/deploy-cromwell-on-azure/Deployer.cs

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions src/deploy-cromwell-on-azure/Utility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ public static Dictionary<string, string> DelimitedTextToDictionary(string text,
public static string DictionaryToDelimitedText(Dictionary<string, string> dictionary, string fieldDelimiter = "=", string rowDelimiter = "\n")
=> string.Join(rowDelimiter, dictionary.Select(kv => $"{kv.Key}{fieldDelimiter}{kv.Value}"));

public static Stream GetFileStream(params string[] pathComponentsRelativeToAppBase)
jsaun marked this conversation as resolved.
Show resolved Hide resolved
{
var embeddedResourceName = $"deploy-cromwell-on-azure.{string.Join(".", pathComponentsRelativeToAppBase)}";
return typeof(Deployer).Assembly.GetManifestResourceStream(embeddedResourceName);
}

public static string GetFileContent(params string[] pathComponentsRelativeToAppBase)
{
var embeddedResourceName = $"deploy-cromwell-on-azure.{string.Join(".", pathComponentsRelativeToAppBase)}";
Expand Down
44 changes: 43 additions & 1 deletion src/deploy-cromwell-on-azure/deploy-cromwell-on-azure.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,35 @@
<AssemblyName Condition="'$(Configuration)' == 'osx'">deploy-cromwell-on-azure-osx.app</AssemblyName>
</PropertyGroup>

<ItemGroup>
<None Remove="scripts\k8s\cromwell-deployment.yaml" />
<None Remove="scripts\k8s\cromwell-service.yaml" />
<None Remove="scripts\k8s\cromwell-tmp-claim2.yaml" />
<None Remove="scripts\k8s\cromwellazure-claim1.yaml" />
<None Remove="scripts\k8s\csi\blobfuse-proxy.yaml" />
<None Remove="scripts\k8s\csi\csi-blob-controller.yaml" />
<None Remove="scripts\k8s\csi\csi-blob-driver.yaml" />
<None Remove="scripts\k8s\csi\csi-blob-node.yaml" />
<None Remove="scripts\k8s\csi\pv-blobfuse-csi-dataset.yaml" />
<None Remove="scripts\k8s\csi\pvc-blob-csi-dataset.yaml" />
<None Remove="scripts\k8s\csi\rbac-csi-blob-controller.yaml" />
<None Remove="scripts\k8s\csi\rbac-csi-blob-node.yaml" />
<None Remove="scripts\k8s\mysqldb-data-claim3.yaml" />
<None Remove="scripts\k8s\mysqldb-deployment.yaml" />
<None Remove="scripts\k8s\mysqldb-service.yaml" />
<None Remove="scripts\k8s\tes-deployment.yaml" />
<None Remove="scripts\k8s\tes-service.yaml" />
<None Remove="scripts\k8s\triggerservice-deployment.yaml" />
</ItemGroup>

<ItemGroup>
<Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="KubernetesClient" Version="7.0.9" />
jsaun marked this conversation as resolved.
Show resolved Hide resolved
<PackageReference Include="Microsoft.Azure.Management.Batch" Version="13.0.0" />
<PackageReference Include="Microsoft.Azure.Management.ContainerService" Version="1.2.0" />
<PackageReference Include="Microsoft.Azure.Management.Fluent" Version="1.37.1" />
<PackageReference Include="Microsoft.Azure.Services.AppAuthentication" Version="1.6.1" />
<PackageReference Include="Microsoft.Azure.Storage.Blob" Version="11.2.3" />
Expand All @@ -37,8 +60,9 @@
<PackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="5.2.9" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Polly" Version="7.2.2" />
<PackageReference Include="SharpZipLib" Version="1.3.3" />
<PackageReference Include="SSH.NET" Version="2020.0.1" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.10.2" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.13.1" />
</ItemGroup>

<ItemGroup>
Expand All @@ -63,6 +87,24 @@
<EmbeddedResource Include="scripts\env-03-external-images.txt" />
<EmbeddedResource Include="scripts\env-04-settings.txt" />
<EmbeddedResource Include="scripts\install-cromwellazure.sh" />
<EmbeddedResource Include="scripts\k8s\cromwell-deployment.yaml" />
<EmbeddedResource Include="scripts\k8s\cromwell-service.yaml" />
<EmbeddedResource Include="scripts\k8s\cromwell-tmp-claim2.yaml" />
<EmbeddedResource Include="scripts\k8s\cromwellazure-claim1.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\blobfuse-proxy.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\csi-blob-controller.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\csi-blob-driver.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\csi-blob-node.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\pv-blobfuse-csi-dataset.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\pvc-blob-csi-dataset.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\rbac-csi-blob-controller.yaml" />
<EmbeddedResource Include="scripts\k8s\csi\rbac-csi-blob-node.yaml" />
<EmbeddedResource Include="scripts\k8s\mysqldb-data-claim3.yaml" />
<EmbeddedResource Include="scripts\k8s\mysqldb-deployment.yaml" />
<EmbeddedResource Include="scripts\k8s\mysqldb-service.yaml" />
<EmbeddedResource Include="scripts\k8s\tes-deployment.yaml" />
<EmbeddedResource Include="scripts\k8s\tes-service.yaml" />
<EmbeddedResource Include="scripts\k8s\triggerservice-deployment.yaml" />
<EmbeddedResource Include="scripts\mount-data-disk.sh" />
<EmbeddedResource Include="scripts\mount.blobfuse" />
<EmbeddedResource Include="scripts\mount_containers.sh" />
Expand Down
83 changes: 83 additions & 0 deletions src/deploy-cromwell-on-azure/scripts/k8s/cromwell-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
apiVersion: apps/v1
jsaun marked this conversation as resolved.
Show resolved Hide resolved
kind: Deployment
metadata:
annotations:
kompose.cmd: C:\workspace\src\CromwellOnAzure\src\deploy-cromwell-on-azure\scripts\kompose.exe convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: cromwell
name: cromwell
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: cromwell
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: C:\workspace\src\CromwellOnAzure\src\deploy-cromwell-on-azure\scripts\kompose.exe convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: cromwell
spec:
containers:
- args:
- java -Djava.io.tmpdir=/cromwell-tmp/ -Dconfig.file=/configuration/cromwell-application.conf -jar /app/cromwell.jar server
command:
- /bin/sh
- -c
image: broadinstitute/cromwell:70
name: cromwell
stdin: true
tty: true
ports:
- containerPort: 8000
resources: {}
volumeMounts:
- mountPath: /cromwell-tmp
name: cromwell-tmp-claim2
- mountPath: /configuration
name: configuration-claim1
- mountPath: /cromwell-executions
name: cromwell-executions-claim1
- mountPath: /cromwell-workflow-logs
name: cromwell-workflow-logs-claim1
- mountPath: /workflows
name: workflows-claim1
- mountPath: /inputs
name: inputs-claim1
- mountPath: /outputs
name: outputs-claim1
- mountPath: /datasettestinputs/dataset
name: dataset-claim1
restartPolicy: Always
volumes:
- name: cromwell-tmp-claim2
persistentVolumeClaim:
claimName: cromwell-tmp-claim2
- name: configuration-claim1
persistentVolumeClaim:
claimName: configuration-claim1
- name: cromwell-executions-claim1
persistentVolumeClaim:
claimName: cromwell-executions-claim1
- name: cromwell-workflow-logs-claim1
persistentVolumeClaim:
claimName: cromwell-workflow-logs-claim1
- name: workflows-claim1
persistentVolumeClaim:
claimName: workflows-claim1
- name: inputs-claim1
persistentVolumeClaim:
claimName: inputs-claim1
- name: outputs-claim1
persistentVolumeClaim:
claimName: outputs-claim1
- name: dataset-claim1
persistentVolumeClaim:
claimName: pvc-blob-dataset
status: {}
19 changes: 19 additions & 0 deletions src/deploy-cromwell-on-azure/scripts/k8s/cromwell-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: C:\workspace\src\CromwellOnAzure\src\deploy-cromwell-on-azure\scripts\kompose.exe convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: cromwell
name: cromwell
spec:
ports:
- name: "8000"
port: 8000
targetPort: 8000
selector:
io.kompose.service: cromwell
status:
loadBalancer: {}
14 changes: 14 additions & 0 deletions src/deploy-cromwell-on-azure/scripts/k8s/cromwell-tmp-claim2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: cromwell-tmp-claim2
name: cromwell-tmp-claim2
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 32Gi
status: {}
14 changes: 14 additions & 0 deletions src/deploy-cromwell-on-azure/scripts/k8s/cromwellazure-claim1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: cromwellazure-claim1
name: cromwellazure-claim1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 32Gi
status: {}
115 changes: 115 additions & 0 deletions src/deploy-cromwell-on-azure/scripts/k8s/csi/blobfuse-proxy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: csi-blobfuse-proxy
namespace: kube-system
spec:
selector:
matchLabels:
app: csi-blobfuse-proxy
template:
metadata:
labels:
app: csi-blobfuse-proxy
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: NotIn
values:
- virtual-kubelet
initContainers:
- name: prepare-binaries
image: mcr.microsoft.com/k8s/csi/blob-csi:v1.8.0
command: ['sh', '-c', "cp /blobfuse-proxy/*.deb /tmp/"]
volumeMounts:
- mountPath: /tmp
name: tmp-dir
containers:
- command:
- nsenter
- '--target'
- '1'
- '--mount'
- '--uts'
- '--ipc'
- '--net'
- '--pid'
- '--'
- sh
- '-c'
- |
set -xe
INSTALL_BLOBFUSE=${INSTALL_BLOBFUSE:-true}
if (( "${INSTALL_BLOBFUSE}" == "true" ))
then
dpkg -i /tmp/packages-microsoft-prod.deb && apt update && apt-get install -y blobfuse=${BLOBFUSE_VERSION}
fi
dpkg -i /tmp/blobfuse-proxy.deb
mkdir -p /var/lib/kubelet/plugins/blob.csi.azure.com
systemctl enable blobfuse-proxy
systemctl start blobfuse-proxy

SET_MAX_FILE_NUM=${SET_MAX_OPEN_FILE_NUM:-true}
if (( "${SET_MAX_OPEN_FILE_NUM}" == "true" ))
then
sysctl -w fs.file-max=${MAX_FILE_NUM}
fi

updateDBConfigPath="/etc/updatedb.conf"
DISABLE_UPDATEDB=${DISABLE_UPDATEDB:-true}
if (( "${DISABLE_UPDATEDB}" == "true" )) && (( test -f ${updateDBConfigPath} ))
then
echo "before changing ${updateDBConfigPath}:"
cat ${updateDBConfigPath}
sed -i 's/PRUNEPATHS="\/tmp/PRUNEPATHS="\/mnt \/var\/lib\/kubelet \/tmp/g' ${updateDBConfigPath}
sed -i 's/PRUNEFS="NFS/PRUNEFS="fuse blobfuse NFS/g' ${updateDBConfigPath}
echo "after change:"
cat ${updateDBConfigPath}
fi

# "waiting for blobfuse-proxy service to start"
sleep 3s
# tail blobfuse proxy logs
journalctl -u blobfuse-proxy -f
image: mcr.microsoft.com/k8s/csi/blob-csi:v1.8.0
imagePullPolicy: IfNotPresent
name: sysctl-install-blobfuse-proxy
env:
- name: DEBIAN_FRONTEND
value: "noninteractive"
- name: INSTALL_BLOBFUSE
value: "true"
- name: BLOBFUSE_VERSION
value: 1.4.2
- name: SET_MAX_OPEN_FILE_NUM
value: "true"
- name: MAX_FILE_NUM
value: "9000000"
- name: DISABLE_UPDATEDB
value: "true"
resources:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 1Mi
securityContext:
privileged: true
hostNetwork: true
hostPID: true
nodeSelector:
kubernetes.io/os: linux
priorityClassName: system-node-critical
restartPolicy: Always
tolerations:
- operator: Exists
volumes:
- hostPath:
path: /tmp
type: DirectoryOrCreate
name: tmp-dir
Loading