Ao usar a Container Storage Interface (CSI) para montar volumes do Object Storage Service (OSS), o componente CSI inicia o ossfs para montar os buckets do OSS no sistema de arquivos do nó. A versão v1.30.4-* do componente CSI, que inclui o csi-plugin e o csi-provisioner, atualizou a versão padrão do ossfs e otimizou o processo de montagem.
Alterações e soluções
A montagem de volumes OSS com provisionamento estático exige o componente csi-provisioner
Antes da versão v1.30.4-*, o uso de volumes OSS com provisionamento estático dependia exclusivamente do componente csi-plugin.
Após a atualização, instale o csi-provisioner para montar novos volumes OSS.
Essa alteração não afeta os serviços existentes em volumes OSS já montados.
Atualização da versão do ossfs
Na versão v1.30.4-*, o csi-plugin e o csi-provisioner passaram a usar a versão 1.91.3 do ossfs por padrão. Para obter mais informações sobre as versões do ossfs, consulte Notas de lançamento do Ossfs 1.0. Para detalhes sobre a versão 1.91 ou posterior, consulte Novos recursos do ossfs 1.0 e benchmarks de desempenho do ossfs.
Para manter a versão 1.88 do ossfs, execute as etapas a seguir.
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em nome do cluster. No painel de navegação à esquerda, clique em Components and Add-ons.
Clique em aba Storage, localize os componentes csi-plugin e csi-provisioner e clique em Configuration nos cartões de ambos os componentes. Configure o FeatureGate de cada um como
UpdatedOssfsVersion=false.
Alteração do namespace do ossfs para ack-csi-fuse
Nas versões anteriores, ao montar buckets OSS, o CSI criava automaticamente pods do ossfs no namespace kube-system. A partir da versão v1.30.4-*, os pods do ossfs passaram a pertencer ao namespace ack-csi-fuse.
Se você usa autenticação via RAM Roles for Service Accounts (RRSA) para volumes OSS em versões anteriores à v1.30.4-, conceda permissões à função do RAM antes de atualizar para a v1.30.4-. Devido à mudança de namespace do pod, a ausência dessa configuração impede o início do pod responsável por montar o novo volume OSS.
Siga as etapas abaixo para modifique a política de confiança.
Faça login no console do RAM com sua conta Alibaba Cloud.
No painel de navegação à esquerda, escolha .
-
Na página Roles, pesquise a função do RAM correspondente, clique em nome da função e, em seguida, clique em aba Trust Policy. Edite a política de confiança conforme solicitado.
Use o exemplo a seguir como referência para modifique a política de confiança. O código de amostra adiciona o ServiceAccount do namespace ack-csi-fuse em
oidc:sub.Exemplo da política de confiança original da função:
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:kube-system:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } } ], "Version": "1" }Política de confiança modificada:
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:kube-system:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } }, { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:ack-csi-fuse:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } } ], "Version": "1" }
Fim do suporte a imagens personalizadas do ossfs
A versão v1.30.4-* do CSI não oferece mais suporte à personalização de imagens do ossfs por meio do ConfigMap do csi-plugin.
Precauções
Antes de atualizar o csi-plugin para a versão v1.30.4- ou posterior, instale a versão mais recente do csi-provisioner ou atualize o csi-provisioner (gerenciado ou não gerenciado) para a versão v1.30.4- ou posterior.
Após atualizar o csi-plugin para a versão v1.30.4-* ou posterior pela página Add-ons do console do Container Service for Kubernetes (ACK), o cluster passa a usar automaticamente o novo processo de montagem. Os pods existentes com volumes OSS montados continuam operando normalmente.
Referências
Para consultar os registros e descrições das alterações do componente CSI, consulte csi-plugin e csi-provisioner.