Configuração do driver “ IBM Cloud Object Storage ” para clusters “ Satellite ”
Saiba como implantar o driver IBM Cloud Object Storage em seus clusters do Satellite para criar e acessar dados em diversos provedores de armazenamento em nuvem S3-compatible, incluindo IBM, AWS, Wasabi e Azure.
Antes de implementar modelos de armazenamento em clusters no seu local, certifique-se de configurar o Satellite Config, selecionando a opção Enable cluster admin access for Satellite Config no console ou incluindo a opção --enable-config-admin ao criar o cluster.
Não é possível definir o escopo do serviço de armazenamento Satellite para grupos de recursos. No entanto, se estiver definindo o escopo de outros recursos, como local e cluster, para grupos de recursos, será necessário adicionar o leitor Satellite e vincular a função de administrador a todos os recursos da conta.
Pré-requisitos
-
Crie um conjunto de credenciais de serviço em seu provedor de armazenamento de objeto.
Criando um segredo em seu cluster que contém suas credenciais de armazenamento de objeto
Crie o segredo Kubernetes em seu cluster que contém suas credenciais de serviço.
-
Siga as etapas baseadas em seu provedor de armazenamento de objeto para criar um segredo em seu cluster. Ao criar seu segredo, todos os valores serão codificados automaticamente para base64. No exemplo a seguir, o nome do segredo é
cos-write-access.-
IBM Cloud Object Storage
-
Encontre o ID da sua instância de serviço.
ibmcloud resource service-instance <service_name> | grep GUID -
Crie o segredo em seu cluster.
oc create secret generic cos-write-access --type=ibm/ibmc-s3fs --from-literal=api-key=API-KEY --from-literal=service-instance-id=SERVICE-INSTANCE-ID
-
-
AWS ou Wasabi
oc create secret generic cos-write-access --type=ibm/ibmc-s3fs --from-literal=access-key=ACCESS-KEY-ID --from-literal=secret-key=SECRET-ACCESS-KEY ``` -
Criando e Afirmando uma Configuração no console
-
No console “Locais”, selecione o local onde você deseja criar uma configuração de armazenamento.
-
Selecione Armazenamento > Criar configuração de armazenamento
-
Insira um nome para a sua configuração.
-
Selecione o tipo de armazenamento.
-
Selecione a versão e clique em “Avançar”
-
Se o Tipo de Armazenamento que você selecionou aceitar parâmetros personalizados, digite-os na guia Parâmetros.
-
Se o Tipo de armazenamento que você selecionou requer segredos, insira-os na guia Secrets.
-
Na guia Classes de armazenamento, revise as classes de armazenamento implementadas pela configuração ou crie uma classe de armazenamento customizada.
-
Na guia Designar ao serviço, selecione o serviço ao qual você deseja designar a sua configuração.
-
Clique em Concluído para designar sua configuração de armazenamento.
Criando uma Configuração no CLI
-
Revise a referência de parâmetro para a versão do modelo que você deseja usar.
-
Efetue login na CLI do IBM Cloud .
ibmcloud login -
Liste seus locais do Satellite e observe a coluna
Managed from.ibmcloud sat location ls -
Direcione a região
Managed fromdo local do Satellite. Por exemplo, parawdc, direcioneus-east. Para obter mais informações, consulte Regiões do Satellite.ibmcloud target -r us-east -
Se você usar um grupo de recursos diferente do
default, direcione-o.ibmcloud target -g RESOURCE_GROUP -
Copie um do comando de exemplo a seguir para a versão de template que você deseja utilizar. Para obter mais informações sobre o comando, consulte
ibmcloud sat storage config createna referência de comandos.Comando de exemplo para criar uma configuração da versão 2.2
ibmcloud sat storage config create --location LOCATION --name NAME --template-name ibm-object-storage-plugin --template-version 2.2 --param "helm-release-name=HELM-RELEASE-NAME" --param "parameters=PARAMETERS" --param "license=LICENSE" --param "s3provider=S3PROVIDER" --param "cos-storageclass=COS-STORAGECLASS" --param "cos-endpoint=COS-ENDPOINT" -
Personalize o comando com base nas configurações que você deseja utilizar.
-
Execute o comando para criar uma configuração.
-
Verifique se sua configuração foi criada.
ibmcloud sat storage config get --config CONFIG
Criando uma Configuração na API
-
Gere uma chave API, então solicite um token de atualização. Para obter mais informações, consulte Gerando um token do IAM do IBM Cloud usando uma chave de API.
-
Revise a referência de parâmetro para a versão do modelo que você deseja usar.
-
Copie um dos seguintes pedidos de exemplo e substitua as variáveis que você deseja utilizar.
Solicitação de exemplo para criar uma configuração da versão 2.2
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"ibm-object-storage-plugin\", \"storage-template-version\": \"2.2\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"HELM-RELEASE-NAME\", { \"entry.name\": \"PARAMETERS\", { \"entry.name\": \"LICENSE\", { \"entry.name\": \"S3PROVIDER\", { \"entry.name\": \"COS-STORAGECLASS\", { \"entry.name\": \"COS-ENDPOINT\",\"user-secret-parameters\": }
Criação de uma tarefa na interface de linha de comando (CLI)
-
Liste suas configurações de armazenamento e anote a configuração de armazenamento que você deseja atribuir aos seus clusters.
ibmcloud sat storage config ls -
Obtenha o ID do cluster, do grupo de clusters ou do serviço ao qual você deseja atribuir armazenamento.
Para assegurar que seu cluster seja registrado com o Satellite Config ou para criar grupos, consulte Configurando clusters para uso com o Satellite Config.
Exemplo de comando para listar grupos de clusters.
ibmcloud sat group lsExemplo de comando para listar clusters.
ibmcloud oc cluster ls --provider satelliteComando exemplo para lista Satellite serviços.
ibmcloud sat service ls --location LOCATION -
Atribua sua configuração de armazenamento para o cluster, grupo ou serviço que você recuperou anteriormente. Para obter mais informações, consulte o comando
ibmcloud sat storage assignment create.Exemplo comando para atribuir uma configuração a um grupo de clusters.
ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAMEComando exemplo para designar uma configuração a um cluster.
ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAMEExemplo comando para designar uma configuração a um cluster de serviços.
ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME -
Verifique se a sua designação foi criada.
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
Criação de uma atribuição de armazenamento na interface de programação de aplicativos (API)
-
Copie um dos seguintes pedidos de exemplo.
Exemplo de solicitação para atribuir uma configuração a um cluster.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"Exemplo de solicitação para atribuir configuração a um grupo de clusters.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}" -
Substitua as variáveis por seus detalhes e execute a solicitação.
-
Verifique a atribuição foi criada listando suas designações.
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
Atualizando designações de armazenamento no console
É possível usar o console do Satellite console para aplicar as atualizações de correção mais recentes às designações.
-
Na página Locais no console do Satellite, selecione seu local.
-
Clique na guia Armazenamento para visualizar suas configurações..
-
Clique na configuração que deseja atualizar.
-
Clique no ícone Informações (i) para aplicar a revisão ou correção mais recente.
-
Opcional: ative as atualizações de correção automática para sua designação de armazenamento. A ativação de atualizações de correção automáticas assegura que sua designação sempre tenha as correções de segurança mais recentes
Se você ativar atualizações de correção automáticas, ainda deverá aplicar as principais atualizações manualmente.
Fazendo upgrade manualmente de designações na CLI
Faça upgrade de uma designação para usar a revisão do modelo de armazenamento mais recente
-
Liste as suas designações de armazenamento do Satellite, anote a designação do Satellite da qual você deseja fazer upgrade.
ibmcloud sat storage assignment ls -
Liste os modelos de armazenamento do Satellite para ver as versões mais recentes disponíveis.
ibmcloud sat storage template ls -
Faça upgrade da designação do Satellite.
Exemplo de comando para atualizar uma designação.
ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
Ativando atualizações de correção automáticas para configurações e designações na CLI
É possível usar a CLI do sat storage assignment autopatch enable para ativar as atualizações de correção automáticas para suas designações A ativação de atualizações de correção automática aplica as revisões mais recentes do modelo
de armazenamento (correções) automaticamente. Você ainda deve aplicar atualizações principais manualmente.
-
Liste suas configurações de armazenamento do Satellite. Anote o ID da configuração.
ibmcloud sat storage assignment ls -
Execute um dos comandos de exemplo a seguir para ativar atualizações de correção automáticas para sua configuração e suas designações associadas. Digite o ID de configuração que você obteve na etapa anterior.
Comando de exemplo para ativar atualizações de correção automática para uma designação.
ibmcloud sat storage assignment autopatch enable --config CONFIG (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])Comando de exemplo para ativar atualizações de correção automática para todas as designações de armazenamento sob uma determinada configuração.
ibmcloud sat storage assignment autopatch enable --config CONFIG --allExemplo de comando para desativar as atualizações de correção automáticas para todas as designações sob uma configuração específica
ibmcloud sat storage assignment autopatch disable --config CONFIG --allExemplo de comando para desativar as atualizações de correção automáticas para uma única designação e uma configuração específica
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-IDExemplo de comando para desativar as atualizações de correção automáticas para uma designação múltipla e uma configuração específica
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
Fazendo upgrade de uma configuração e designações na API
É possível usar a API do /v2/storage/satellite/updateAssignment para atualizar suas designações com novos clusters ou grupos
de clusters Configure updateConfigVersion como true para aplicar a atualização de revisão
-
Copie a seguinte solicitação de exemplo e substitua as variáveis para os grupos de clusters e designações que você deseja atualizar.
curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}" -
Execute o pedido.
-
Obtenha os detalhes de você atribuição para verificar a atualização.
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
Ativando atualizações de correção automáticas para designações na API
É possível usar a API /v2/storage/satellite/setAssignmentAutoupgrade para ativar atualizações de correção automáticas para suas designações. A ativação de atualizações de correção automática aplica as revisões mais recentes do modelo
de armazenamento (correções) automaticamente. Você ainda deve aplicar atualizações principais manualmente.
-
Copie a seguinte solicitação de exemplo e substitua as variáveis para os grupos de clusters e designações que você deseja atualizar.
curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/setAssignmentAutoupgrade" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d { "config": "string", "controller": "string", "autopatch": boolean,"assignment" : { "all": boolean, "uuid": ["string", "string", ...], } } -
Execute o pedido.
-
Obtenha os detalhes de sua designação para verificar o upgrade
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
Implantar um aplicativo que utiliza IBM Cloud Object Storage
Você pode usar o driver “ ibm-object-s3fs ” para criar PVCs que poderão ser utilizados nas cargas de trabalho do seu cluster.
-
Crie um PVC que referencie sua configuração de armazenamento de objetos.
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: demo #Enter a name for your PVC. namespace: default annotations: ibm.io/auto-create-bucket: "false" ibm.io/auto-delete-bucket: "false" ibm.io/bucket: BUCKET-NAME #Enter the name of your object storage bucket. ibm.io/secret-name: SECRET-NAME #Enter the name of the secret you created earlier. ibm.io/secret-namespace: NAMESPACE #Enter the namespace where you want to create the PVC. spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: ibmc-s3fs-cos #The storage class that you want to use. -
Crie o PVC em seu cluster.
oc apply -f pvc-cos.yaml -
Crie um arquivo de configuração YAML para um pod que monte o PVC que você criar.
apiVersion: v1 kind: Pod metadata: name: demo-pod namespace: default spec: securityContext: runAsUser: 2000 fsGroup: 2000 volumes: - name: demo-vol persistentVolumeClaim: claimName: demo containers: - name: test image: nginxinc/nginx-unprivileged imagePullPolicy: Always volumeMounts: - name: demo-vol mountPath: /mnt/cosvol -
Crie o pod em seu cluster.
oc apply -f demo-pod.yaml -
Verifique se o pod foi implementado. Observe que pode levar alguns minutos para que seu aplicativo entre no estado “
Running”.oc get podsNAME READY STATUS RESTARTS AGE demo-pod 1/1 Running 0 2m58s -
Verifique se o app pode gravar em seu volume de armazenamento de blocos efetuando login em seu pod.
oc exec demo-pod -- bash -c "touch /mnt/cosvol/test.txt && ls /mnt/cosvol" test.txt
Removendo a configuração de armazenamento do IBM Cloud Object Storage usando o console
- No painel de armazenamento do Satellite, selecione a configuração de armazenamento que você deseja excluir.
- Selecione Ações > Excluir
- Insira o nome da sua configuração de armazenamento.
- Selecione ** Excluir **.
Como remover a configuração de armazenamento IBM Cloud Object Storage usando a linha de comando
Se você não precisar mais da sua configuração do IBM Cloud Object Storage, poderá remover seus aplicativos, PVCs, PVs e atribuições dos seus clusters.
-
Liste suas designações de armazenamento e localize aquela que você usou para o seu cluster.
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER) -
Remova a designação. Após a remoção da designação, os pods do driver e as classes de armazenamento são removidos de todos os clusters que faziam parte da designação de armazenamento.
ibmcloud sat storage assignment rm --assignment <assignment_ID> -
Verifique se o driver foi removido de seu cluster.
- Liste as classes de armazenamento em seu cluster e verifique se elas foram removidas.
oc get sc ``` 1. Liste os pods no namespace `kube-system` e verifique se os pods do driver de armazenamento foram removidos. ```sh {: pre} oc get pods -n kube-system | grep cos ``` -
Opcional: remova a configuração de armazenamento.
- Liste as configurações de armazenamento.
ibmcloud sat storage config ls ``` 1. Remova a configuração de armazenamento. ```sh {: pre} ibmcloud sat storage config rm --config <config_name> ```
Referência de parâmetro
Referência de parâmetro 2.2
| Nome de exibição | Opção CLI | Tipo | Descrição | Valor Padrão |
|---|---|---|---|---|
| Nome da liberação | helm-release-name |
Configuração | O nome da liberação do Helm Chart. | ibm-object-storage-plugin |
| Parâmetros adicionais do Helm Chart | parameters |
Configuração | Os parâmetros adicionais do Helm Chart. | N/A |
| Licença do plug-in Object Storage | license |
Configuração | Licença do plug-in de armazenamento de objeto: licença Apache versão 2.0. Configure como 'true' para aceitar a licença e instalar o plug-in. | N/A |
| Provedor do Object Storage | s3provider |
Configuração | Os provedores disponíveis são 'IBM', 'AWS' e 'Wasabi'. Para provedores diferentes desses, deve-se fornecer o parâmetro 'Object Storage service endpoint' | N/A |
| Região do Object Storage | cos-storageclass |
Configuração | Insira a região na qual seu armazenamento de objeto está localizado. Para obter informações sobre as regiões do IBM COS, consulte https://ibm.biz/cos-endpoints-list. Para o Wasabi, consulte https://ibm.biz/wasabi-endpoints. Para o AWS, consulte https://ibm.biz/aws-endpoints. | N/A |
| Terminal do serviço Object Storage | cos-endpoint |
Configuração | Terminal do serviço Object Storage. É necessário ao usar provedores Object Storage diferentes de IBM, AWS ou Wasabi. A preferência será dada ao parâmetro 'Object Storage provider', quando ambos estiverem configurados. | N/A |
Referência de classe de armazenamento para IBM Cloud Object Storage
| Nome da classe de armazenamento | Modo de ligação de volume | Reter |
|---|---|---|
ibm-s3fs-cos |
Imediato | Não |
ibm-s3fs-cos-perf |
Imediato | Não |
Obtendo ajuda e suporte para o IBM Cloud Object Storage
Quando você usar o site IBM Cloud Object Storage, tente os seguintes recursos antes de abrir um caso de suporte.
- Revise as perguntas frequentes no Documentos do Block Storage for VPC.
- Revise a documentação de resolução de problemas para resolver problemas comuns.
- Verifique o status da plataforma e dos recursos do IBM Cloud acessando a página de status.
- Revise Estouro de Pilha para ver se outros usuários tiveram o mesmo problema Marque quaisquer perguntas com
ibm-cloudeCOS. - Se você tiver um problema com o Block Storage for VPC, envie uma solicitação de suporte com o IBM Cloud® Support.