Arkade le choco du Devops !
Je suis tombé sur un outil bien sympathique, en fait une vraie pépite, qui est
un peu le choco
du Devops. Il s’agit d’Arkade
. Arkade permet de
télécharger la plupart des CLI devops mais aussi d’installer des
applications dans votre cluster kubernetes de développement de la
plupart des outils nécessaires aux pratiques Devops.
Cet outil est développé par @alexellis l’auteur d’OpenFaas. Donc c’est du sérieux.
On y trouve la plupart des cli dont :
- kubectl
- kind
- kubectx
- helmplus
- buildx
- dive
- docker-compose
- …
et les application :
- loki
- redis
- argocd
- flux
- mongodb
- openfaas
Installation d’arkade
Comme la plupart des outils il existe un shell permettant de l’installer rapidement :
# Note: you can also run without `sudo` and move the binary yourselfcurl -sLS https://get.arkade.dev | sudo sh
arkade --helpark --help # a handy alias
Une fois installé il faut ajouter le chemin suivant dans votre PATH :
export PATH=$HOME/.arkade/bin/:$PATH
Vous l’aurez compris toutes les CLI sont installé dans ce répertoire.
Utilisation d’Arkade
Arkade peut être utilisé pour installer des applications Kubernetes ou pour télécharger des CLI :
Installation de CLI
Il suffit d’utiliser la commande arkade get <nom de la cli>
pour télécharger
une CLI.
Si vous tapez simplement ark get
vous obtiendrez la liste des CLI disponible.
Pour installer une version spécifique il suffit d’ajouter la version précédée du
caractère @
arkade get kubectl@v1.22.0
Installation d’application
Si vous n’avez pas de cluster installé sur votre machine, faisons le nécessaire avec arkade :
arkade get kindkind create cluster
Pour installer une application il suffit de taper la commande :
arkade install <nom de l'application>
Si ajoute —help on obtient la description de l’application ainsi que toutes les options qui peuvent être utilisé
Installons openfass:
arkade install openfaas --help vagrant@devbox 13:00:15Install openfaas
Usage: arkade install openfaas [flags]
Examples: arkade install openfaas --load-balancer
Flags: -a, --basic-auth Enable authentication (default true) --basic-auth-password string Overide the default random basic-auth-password if this is set --clusterrole Create a ClusterRole for OpenFaaS instead of a limited scope Role --direct-functions Invoke functions directly from the gateway, or load-balance via endpoint IPs when set to false --function-pull-policy string Pull policy for functions (default "Always") --gateways int Replicas of gateway (default 1) -h, --help help for openfaas --ingress-operator Get custom domains and Ingress records via the ingress-operator component --license-file string Path to OpenFaaS Pro license file -l, --load-balancer Add a loadbalancer --log-provider-url string Set a log provider url for OpenFaaS --max-inflight int Max tasks for queue-worker to process in parallel (default 1) -n, --namespace string The namespace for the core services (default "openfaas") --operator Create OpenFaaS Operator --pull-policy string Pull policy for OpenFaaS core services (default "IfNotPresent") --queue-workers int Replicas of queue-worker for HA (default 1) --set stringArray Use custom flags or override existing flags (example --set gateway.replicas=2) --update-repo Update the helm repo (default true)
Global Flags: --kubeconfig string Local path for your kubeconfig file --wait If we should wait for the resource to be ready before returning (helm3 only, default false)
Une fois l’installation d’une application Kubernetes lancée vous pouvez obtenir des infos avec :
arkade info openfaas
Info for app: openfaas# Get the faas-clicurl -SLsf https://cli.openfaas.com | sudo sh
# Forward the gateway to your machinekubectl rollout status -n openfaas deploy/gatewaykubectl port-forward -n openfaas svc/gateway 8080:8080 &
# If basic auth is enabled, you can now log into your gateway:PASSWORD=$(kubectl get secret -n openfaas basic-auth -o jsonpath="{.data.basic-auth-password}" | base64 --decode; echo)echo -n $PASSWORD | faas-cli login --username admin --password-stdin
faas-cli store deploy figletfaas-cli list
# For Raspberry Pifaas-cli store list \ --platform armhf
faas-cli store deploy figlet \ --platform armhf
# Find out more at:# https://github.com/openfaas/faas
Pour désinstaller une application arkade uninstall openfaas
vous fournira les
commandes nécessaires à son nettoyage.
Plus d’infos sur le repo d’arkade ↗