shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Laços com o FOR


From: Julio C. S. Ferraz
Subject: Re: [shell-script] Re: Laços com o FOR
Date: Sat, 6 Oct 2018 09:52:48 -0300

Olá! Itamar!

Bom dia!

Respondendo as suas perguntas:

-  Meu critério é apenas e exclusivamente apagar o namespace "deployment". Sempre.

- O kubernetes é um orquestrador de containers, onde o termo "pod" é a menor unidade dentro de um container.

- O processo( o comando ) que  uso para criar um deployment é:
$  kubectl create namespace deployment

ou posso usar um arquivo *.json para criação com o seguinte conteúdo:

{
  "kind": "Namespace",
  "apiVersion": "v1",
  "metadata": {
    "name": "deployment",
    "labels": {
      "name": "dev"
    }
  }
}


- Dai então para usar esse arquivo acima, o comando que irei usar é diferente seria criado o mesmo namespace da seguinte maneira (com o comando):

$ kubectl create -f deployment.json

- Para ver se foi criado, eu uso o comando:

$ kubectl get  namespaces
NAME             STATUS    AGE
default          Active    2d
deployment    Active    13h
kube-public      Active    2d
kube-system      Active    2d

O nome "app-test" seria a nomenclatura que eu dei ao meu container no momento da criação desse container no namespace exclusivo que eu quero usar, ou seja o namespace deployment

Para criar um namespace junto com o nome do container e com o número de réplicas que eu desejo para esse container eu uso o comando:

$ kubectl --namespace=deployment run app-test --image=meurepositorio.dkr.ecr.us-east-1.amazonaws.com/nomedaminhaimagem --replicas=4


Em sáb, 6 de out de 2018 às 08:26, address@hidden [shell-script] <address@hidden> escreveu:
 

Caro Júlio

Me baseando no seu comando:
$ kubectl get deployment --all-namespaces
NAMESPACE       NAME                DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment   app-test   4         4         4            4           42m
kube-system     kube-dns            1         1         1

O for que vc usou vai fazer um loop por cada elemento da linha que filtra no grep, então o que na verdade está fazendo é:
kubectl delete deployment --namespace=deployment --all
kubectl delete deployment --namespace=app-test --all
kubectl delete deployment --namespace=4 --all
...

E assim por diante.
O que poderia fazer é mudar o IFS ou usar while no lugar do for, e selecionar namespace usando cut, sed ou awk, se mudar o IFS, ou pegar pela variavel definida se usar o while.

O lance do if [[ $1 -gt 0 ]] ou [ -gt "" ] não faz sentido nenhum para mim,  poie é uma comparação numérica, então suponho que esteja avaliando do terceiro ao sétimo campo para determinar qual apagar, mas do jeito que usou não sei identificar qual seria para essa comparação.
Então da linha exemplo:
deployment   app-test   4         4         4            4           42m
qual a condição para apagar? se for sempre o namespace deployment, então não precisa estar no loop, mas se o deployment for apenas referência a forma de apagar precisa ser reescrita.

E qual o critério para criar o deployment de novo? Não ficou muito claro.

Se puder exiba 2 casos distintos de comando manuais nesse processo de apagar e criar descrevendo os passos.

[]'s
Itamar



--
Atenciosamente,

Julio Ferraz

Mobile:+55 21 9 6689-9207


reply via email to

[Prev in Thread] Current Thread [Next in Thread]