Helm torna Kubernetes mais fácil de usar. É um gerente de pacotes. Os gráficos de compensação facilitam o design, a instalação e a atualização de um aplicativo Kubernetes. Eles gerenciam a complexidade para tornar o processo de instalação repetível. Os usuários podem facilmente atualizar e compartilhar seus designs. Além disso, Helm tem uma função de reversão para voltar facilmente às versões de pedido.
Helm Gráfico Estrutura
Com o comando create, o helm fornece uma estrutura predeterminada para garantir um padrão.
Olá MundoOs arquivos acima serão gerados automaticamente. Helm usa o formato YAML para arquivos de configuração.
Invocando o comando
Para usar o comando, você precisará das seguintes coisas:
(Verifique se as versões Minikube e Tiller são compatíveis com o cluster Kubernetes)
Depois de instalar todos os componentes, inicie seu minikube:
$ minikube Iniciar
Você também precisará usar o seguinte comando para inicializar o leme e o leme:
$ helm init
Em seguida, use o seguinte comando HELM para criar a estrutura descrita acima:
$ Helm Create Hello-World
Escrevendo seu primeiro gráfico de comando
Vamos verificar o status dos pods:
$ KUBECTL Get Pod-All-NamesPaces
Nome do nome para nome Pronto Status Reinicia a idade
Kube-System Kube-Addon-Manager-Minikube 1/1 executando 2 1h
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Running 6 1H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 1H
KUBE-SYSTEM-SISTEM-EMPRESSIONER 1/1 RUNDO 2 1H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 executando 2 1H
A cápsula do leme e as vagens do Minikube estão funcionando. Vamos fazer algumas alterações nos gráficos de leme. Vamos abrir o valor.yml. Se parece com isso:
# Valores padrão para Hello-World.
# Este é um arquivo formatado em YAML.
# Declare variáveis a serem transmitidas para seus modelos.
REPLICACOUNT: 1
imagem:
Repositório: Heroku/Nodejs-Hello-World
Tag: estável
Pullpolicy: Ifnotpresent
serviço:
Tipo: Clusterip
Porta: 80
entrada:
ativado: false
Anotações:
# Kubernetes.io/Ingress.Classe: Nginx
# Kubernetes.io/tls-acme: "true"
caminho: /
anfitriões:
- Exemplo de gráfico.local
TLS: []
#-SecretName: gráfico-exemplo-tls
# hosts:
# - Exemplo de gráfico.local
recursos:
# Geralmente recomendamos não especificar recursos padrão e deixar isso como um consciente
# escolha para o usuário. Isso também aumenta os gráficos de chances são executados em ambientes com pouco
# Recursos, como Minikube. Se você deseja especificar recursos, descomentar o seguinte
# linhas, ajuste -as conforme necessário e remova os aparelhos encaracolados após 'Recursos:'.
# limites:
# CPU: 100m
# Memória: 128mi
# solicitações de:
# CPU: 100m
# Memória: 128mi
NodeseLector:
TOLERAÇÕES: []
afinidade:
A linha destacada foi alterada. Em vez de Nginx, vamos baixar o Heroku/Nodejs-Hello-World. Você pode definir os valores padrão neste valor.Arquivo YML. Eles serão compartilhados com outros arquivos.
Se verificarmos o comando, não vemos nada:
$ helm ls
Vamos começar o gráfico de comando:
$ Helm Install Hello-World
Nome: Kissing-Markhor
Última implantação: sex 9 de março 09:13:04 2018
Namespace: padrão
Status: implantado
RECURSOS:
==> v1/serviço
Nome Tipo de porta (s) da (s) idade (s) de IP de cluster-ip
Clusteripe 10 do mundo do mundo.110.109.7380/TCP 1s
==> v1beta2/implantação
Nome desejado atual Atualização da idade disponível
beijo-markhor-hello-mundo 1 1 1 0 1s
==> v1/pod (relacionado)
Nome Pronto Status reinicia a idade
beijo-markhor-hello-world-6bbb947b9c-rttnz 0/1 containercreating 0 1s
NOTAS:
NOTAS:
1. Obtenha o URL do aplicativo executando esses comandos:
export pod_name = $ (kubectl get pods -namespace default -l "app = hello -world, release = beijo
-Markhor "-o jsonpath =" .Itens [0].Metadados.nome")
eco "Visite http: // 127.0.0.1: 8080 para usar seu aplicativo "
kubectl porta-forward $ pod_name 8080: 80
A parte perceptível é o "nome". Este nome foi gerado por leme.
Vamos verificar o leme:
$ helm ls
Nome Revisão do gráfico de status atualizado espaço de nome
Beijo-Markhor 1 sex 9 09:13:04 2018 implantado Hello-World-0.1.0 padrão
Também Kubernetes:
$ KUBECTL Get Pod-All-NamesPaces
Nome do nome para nome Pronto Status Reinicia a idade
Beição padrão-markhor-hello-world-6bbb947b9c-rttnz 1/1 executando 0 5m
Kube-System Kube-Addon-Manager-Minikube 1/1 executando 2 2h
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 executando 6 2H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 2H
KUBE-SYSTEM-SISTEM-EMSTRAISTOR 1/1 RUNDO 2 2H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 executando 2 2h
Então a vagem foi implantada para Kubernetes. Podemos usar o encaminhamento da porta:
$ kubectl Port-forward beijo-markhor-hello-world-6bbb947b9c-rttnz 8080: 80
Agora você deve poder verificar seu aplicativo implantado.
$ Curl http: // 127.0.0.1: 8080Se você vir esta página, o servidor da web nginx será instalado com sucesso e
trabalhando. É necessária uma configuração adicional.
Para documentação e suporte online, consulte
nginx.org.
O suporte comercial está disponível em
nginx.com.
Obrigado por usar o nginx.
Como alternativa, você pode verificar http: // 127.0.0.1: 8080 para ver o aplicativo recém -criado. Vamos arrumar. Encontre o nome do servidor:
$ helm ls
Nome Revisão do gráfico de status atualizado espaço de nome
Beijo-Markhor 1 sex 9 09:13:04 2018 implantado Hello-World-0.1.0 padrão
Use o seguinte comando para excluir:
$ helm exclua beijo-markhor
Lançamento "Kissing-Markhor" excluído
Vamos verificar o cluster:
$ KUBECTGETGGET-todos os namespaces
Nome do nome para nome Pronto Status Reinicia a idade
Kube-System Kube-Addon-Manager-Minikube 1/1 executando 2 2h
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 executando 6 2H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 2H
KUBE-SYSTEM-SISTEM-EMSTRAISTOR 1/1 RUNDO 2 2H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 executando 2 2h
Podemos ver a cápsula.
Conclusão
O exposto acima deve lhe dar a inspiração para começar a usar gráficos de leme. Deve facilitar as implantações de seus Kubernetes.