Preparando clusters Satellite para o ajuste automático de escala
Satellite
Antes de usar o complemento do escalador automático de cluster em seu cluster Satellite, conclua as etapas a seguir.
O ajuste automático de escala em clusters Satellite está disponível em Beta para contas em listas de permissões apenas. Você pode ser incluído na allowlist por abrindo um case com suporte.
A ativação do autoscaler em uma conta não listada resulta em um erro The 'cluster-autoscaler' add-on is not supported on satellite clusters. Você pode ser incluído na allowlist por abrindo um case com suporte.
Entendendo o ajuste de escala automático em clusters Satellite
- Como o aumento de escala funciona para clusters Satellite?
- O escalador automático de cluster verifica periodicamente os pods que estão parados em estado pendente devido à falta de recursos de memória ou de CPU.
- O autoscaler verifica se o dimensionamento está ativado em qualquer um dos pools de trabalho no cluster. Se o dimensionamento estiver ativado, o dimensionador automático calculará o número necessário de nós de trabalho para acomodar todos os pods que estão presos no estado pendente. Se nenhum pool de trabalho tiver o dimensionamento automático ativado, nenhuma ação ocorrerá.
- O autoscaler compara a contagem necessária de nós de trabalho, que foi calculada na etapa anterior, com o
MaxSizeou o número total de nós de trabalho permitidos para escalonamento. Se oMaxSizepermitido for menor ou igual à contagem de nós do trabalhador necessários para satisfazer todos os pods, o escalador automático enviará uma solicitação de redimensionamento para o grupo de instâncias. - O escalador automático busca os hosts que são
ReadyouUnassignedno local e que possuem rótulos de host que correspondem aos rótulos nos nós do trabalhador no conjunto de trabalhadores em que o ajuste automático de escala está ativado. - O escalador automático determina se há quantidade suficiente disponível de hosts
ReadyouUnassignedpara atender à solicitação de redimensionamento.- Se não houver hosts suficientes disponíveis no local, um aviso será adicionado aos registros informando que a operação de redimensionamento estava incompleta.
- Se houver hosts disponíveis que são
ReadyouUnassignede rótulos de host correspondentes, o escalador automático usará esses hosts para cumprir a solicitação. - Se nenhum host estiver disponível com os rótulos de host correspondentes, o escalador automático filtrará os hosts
ReadyouUnassignedpara aqueles com apenas os rótulos de host padrão. Em seguida, o escalador automático atualiza os rótulos nesses hosts para corresponder aos rótulos do host do conjunto de trabalhadores em que o ajuste de escala é ativado e usa esses hosts para atender à solicitação.
- Como a diminuição de capacidade funciona em clusters Satellite?
- Quando o autoscaler do cluster determina que um nó de trabalho está subutilizado durante o tempo especificado
scaleDownUnneededTime, os trabalhadores são excluídos do cluster. Os hosts que foram usados para esses nós de trabalho estão no estadoReload RequiredouUnassignedno local. Esses hosts não podem ser usados por nenhum outro cluster até que sejam recarregados e reconectados ao local. Observe que todos os trabalhadores no conjunto de trabalhadores devem ser do mesmo tipo. - O que acontece se a minha localização não tem hosts disponíveis para aumentar a capacidade?
- Se não houver hosts suficientes para o aumento de capacidade, a carga de trabalho não será totalmente implementada. Mas, depois que mais hosts são incluídos no local, a operação de aumento de capacidade é retomada automaticamente.
- Como o dimensionamento automático é diferente em Satellite em comparação com IBM Cloud® Kubernetes Service ou Red Hat® OpenShift® on IBM Cloud®?
- IBM Cloud® Kubernetes Service ou Red Hat® OpenShift® on IBM Cloud® pode automaticamente fornecer ou remover hosts na infraestrutura como parte do ajuste de escala. Com o Satellite, como os hosts residem em uma variedade de infraestruturas diferentes, o escalador automático não pode fornecer e remover nós do trabalhador automaticamente. Em vez disso, em clusters Satellite, o escalador automático de cluster usa apenas hosts que já estão disponíveis e prontos no local. Isso significa que você precisa manter hosts adicionais disponíveis no local para o autoscaler usar durante o aumento de escala.
- Qual tipo de hosts o escalador automático de cluster usa enquanto aumenta a capacidade do cluster?
- Os hosts com o status
Readye o estadounassignedsão considerados disponíveis para uso pelo escalador automático de cluster. - Qual dos hosts disponíveis pode ser usado durante o aumento de capacidade?
- Dentre os hosts
Readyeunassigned, apenas os hosts cujos rótulos correspondem aos rótulos do conjunto de trabalhadores em que o ajuste de escala é ativado podem ser usados para o ajuste de escala. Ao anexar hosts para sua localização, certifique-se de rotular os hosts que deseja usar em seus conjuntos de trabalhadores escalados automaticamente. - Como o escalador automático de cluster impacta o faturamento?
- Como o autoscaler de cluster não executa nenhuma operação no nível da infraestrutura, ele atribui hosts a pools de trabalho, o que significa que são incorridas taxas de gerenciamento de cluster.
- Depois de um evento de ajuste de escala, o que faço com os hosts que foram usados para o ajuste de escala que agora estão em um estado
Reload required? - Após o escalonamento, os hosts entram em um estado
Reload requirede não podem ser usados para escalonamento novamente até que sejam reinicializados. Desatribua esses hosts do pool de trabalho, remova-os de seu local, reinicialize-os e reconecte-os para torná-los disponíveis para dimensionamento novamente. - Como configurar o ajuste automático de escala em meu cluster Satellite
- Para configurar o ajuste automático de escala, deve-se concluir as etapas a seguir.
- Crie uma localização do Satellite.
- Configure o plano de controle do local.
- Conecte hosts para o conjunto de trabalhadores padrão.
- Crie um cluster que use seus hosts do Satellite.
- Verifique ou crie os segredos de armazenamento necessários em seu cluster.
- Conecte mais hosts em sua localização e crie um segundo conjunto de trabalhadores em seu cluster.
- Conecte mais hosts à sua localização e deixe-os não designados e disponíveis para ajuste de escala.
- Instale o complemento
cluster-autoscaler. - Edite o ConfigMap do escalador automático e ative o ajuste de escala.
Configurando sua localização e cluster para ajuste automático de escala
-
Crie um local e configure seu plano de controle.
-
Após configurar seu plano de controle, conecte mais hosts que você deseja usar no conjunto de trabalhadores padrão para o seu cluster.
-
Copie os seguintes
storage-secret-storesecretos e salve-o como um arquivo. Você pode encontrar seus detalhes do terminalopenshift-apina página Satellite Link endpoints para o seu local.apiVersion: v1 kind: Secret metadata: name: storage-secret-store namespace: kube-system type: Opaque stringData: ca_iam_api_key: "<iam_api_key>" # Enter your IAM API key container_api_route: "API ROUTE" # Enter the Destination IP of the openshift-api Link endpoint for your Satellite loction. For example: https://i43fb00XXX-XXXX6bf59a8XXX-ce00.us-east.satellite.appdomain.cloud -
Crie o segredo em seu cluster.
oc create -f secret.yaml -n kube-system -
Conecte mais hosts à sua localização que você deseja usar no conjunto de trabalhadores escalados automaticamente. Como uma melhor prática, não configure o ajuste automático de escala no conjunto de trabalhadores padrão. Quando você anexar os hosts que deseja usar no pool de trabalho com dimensionamento automático, certifique-se de especificar rótulos de host, como
cpu=16ememory=64. Os rótulos de host são usados pelo complemento do escalador automático de cluster para localizar hosts que estão disponíveis para ajuste de escala. Exemplo de comando para anexar hosts enquanto especifica rótulos de host para CPU e memória.ibmcloud sat host attach --location LOCATION --host-label "cpu=16" --host-label "memory=64" [--operating-system SYSTEM] -
Crie um segundo conjunto de trabalhadores usando os hosts que você conectou. Para obter mais informações consulte, Criando Red Hat OpenShift on IBM Cloud clusters em Satellite.
-
Conecte mais hosts à sua localização, mas não os atribua a um conjunto de trabalhadores. Estes
Ready/Unassignedhosts estão disponíveis para ajuste automático de escala. Quando você anexar os hosts que deseja deixar disponíveis para escalonamento automático, certifique-se de especificar rótulos de host comocpu=16ememory=64. Os rótulos de host são usados pelo complemento do escalador automático de cluster para localizar hosts que estão disponíveis para ajuste de escala. -
Instale o complemento do autoscaler de cluster em seu cluster. Note que se você vir uma mensagem de erro
The 'cluster-autoscaler' add-on is not supported on satellite clusters, sua conta não estará na lista de permissões para usar o complemento. Para ser incluído na lista de allowlist, abra um case com suporte. -
Edite o autoscaler do cluster ConfigMap e especifique os parâmetros de dimensionamento automático que você deseja usar, como
MinSize,MaxSizee os pools de trabalho que deseja usar para dimensionamento.