badtuxx / descomplicandokubernetes Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
Boa tarde pessoal.
Estou só documentando aqui os perrengues e dificuldades que estou passando ao montar meu ambiente.
Outro ponto que peguei foi o seguinte, precisei criar uma imagem para uma aplicação PHP que temos e não estou utilizando nenhum registry ainda logo. meus workers não conseguem encontrar a imagem a menos que eu fizesse o buid neles até que eu crie um registry.
O status dos pods era ErrImageNeverPull
Acho que pode ser criada uma área de troubleshooting.
PS: Jeferson me coloca como colaborador ai hehehe.
Valeu.
Devido ao nome "giropops-senhas" contido no values.yaml, está sendo apresentada a seguinte mensagem de erro durante a instalação:
"Error: INSTALLATION FAILED: parse error at (giropops-senhas/templates/giropops-senhas-service.yaml:12): bad character U+002D '-'".
Todos os arquivos que contêm "{{ .Values.giropops-senhas..... }}" estão gerando esse erro.
A documentação deste projeto contém uma solução alternativa (workaround) que foi aplicada em "services.yaml", sendo ela "{{- range (index .Values "giropops-senhas").ports }}".
No entanto, tenho observado que todos os arquivos precisam que este workaround seja feito, utilizando o índice.
Seria o caso de alterar o nome giropops-senhas para algo como giropopsSenhas?
Bom dia.
Acho que muitos aqui vão instalar em cloud o cluster e mesmo que seja em instâncias de VM (EC2) para que você consiga utilizar os recursos de storage por exemplo você deve fazer isso no momento da inicialização do cluster passando o parâmetro --cloud-provider=aws.
Caso contrário você receberá o erro abaixo se tentar configurar um PV utilizando o driver da AWS.
Warning ProvisioningFailed 4s persistentvolume-controller Failed to provision volume with StorageClass "gp2": Failed to get AWS Cloud Provider. GetCloudProvider returned instead
Acredito que montar os tópicos de instalação para os principais providers seria interessante para todos.
Valeu pessoal,
Fernando Guse.
Utilizar algum framework como o VuePress para gerar o conteúdo da documentação em HTML, permitindo a criação de uma interface mais amigável, com melhor indexação e buscas do conteúdo. Ex.: https://starship.rs/
Com o conteúdo em HTML, é possível hospedar em qualquer plataforma (como o Netlify) e usar algum domínio (como descomplicandok8s.com.br) para transformar o conteúdo em um website.
Além disso, o VuePress possui recursos de internacionalização, sendo possível adicionar vários idiomas e permitindo o usuário selecionar o de sua preferência (como no Starship) .
Abaixo, um exemplo gerado com o próprio projeto.
Integrar o conteúdo com alguma plataforma para gestão de internacionalização, como por exemplo o Crowdin.
O uso de plataformas como essas permite acompanhar melhor como está o processo de tradução para cada idioma, como no exemplo abaixo:
Quando um novo conteúdo é criado no idioma original, automaticamente já fica disponível para os contribuidores de outros idiomas traduzirem, atualizando o progresso geral.
Além disso a própria ferramenta faz todo o processo de gestão dos arquivos gerados, o commit e o MR, deixando tudo pronto para só ser aprovado pelos mantenedores do projeto.
O Crowdin é gratuito para projetos Open Source.
O mercado está configurado para requisitar muito dos devs, mas não para evoluí-los. Esse papel é feito pelos próprios devs que na maioria das vezes, os fazem sozinhos.
Se você já presenciou um dos fatores abaixo, é porque está ciente do problema que está acontecendo:
Estamos cansados de ver devs sem o controle de suas próprias carreiras. Quantas vezes você já perdeu tempo em cursos que não faziam sentido para sua carreira ou trabalhando em empresas que não te desenvolviam?
Desenvolva sua carreira de sucesso com quem mais entende do assunto clicando aqui. #PowerToDevelopers
Olá acredito que seja por estarem atualizando mas todo o capítulo de Microk8s foi removido. Só consta no sumário.
Olá bom dia!
No day_one para subir o k8s precisamos de alguns módulos e nas versões do kernel >= 4.19 o módulo nf_conntrack_ipv4 não existe e acredito que pode ser substituído pelo nf_conntrack.
Erro ao tentar subir o nf_conntrack_ipv4
modprobe nf_conntrack_ipv4
modprobe: FATAL: Module nf_conntrack_ipv4 not found in directory /lib/modules/5.4.0-81-generic
Talvez só avisar que se o kernel for >= 4.19 usar o nf_conntrack ao invés do nf_conntrack_ipv4;
Só isso mesmo obrigado.
After Jeferson's updates on original PT text, it's necessary to update not only the new files but also SUMMARY and proceed with a translation review on each file changed by Jeferson. Also, I detected some "HEAD" text in DAY-7 and DAY-8 README files that must be fixed.
I will make all the necessary modifications to the ES folder, sub-folders, and files.
Uma pasta que contenha atividades extras, como por exemplo, criação de um determinado ambiente, criação e desenvolvimento de um site com integrações com serviços em nuvens, montar tarefas que possam rodar local que realizam tarefas simples do dia a dia.
Desafios com respostas para que haja a possibilidade de comparação, contendo explicações também.
Ajuste no arquivo sysct
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
Acho que conceito de pod existe um erro de concordância na linha 47.
O Pod, por poder possuir diversos contêineres, muitas das vezes se assemelha a uma VM, onde você poderia ter diversos serviços rodando compartilhando o mesmo IP e demais recursos.
Acho que ficaria melhor:
Pod, é um grupo de um ou mais contêineres em execução, muitas das vezes se assemelha a uma VM, onde você poderia ter diversos serviços rodando compartilhando o mesmo IP e demais recursos.
@badtuxx cara como faço pra contribuir com projeto?
Estou fazendo o curso uncomplicated-k8s venho lendo o livro descomplicando k8s acho q consigo subir alguma PRs de melhoria.
@vaiiiii
Após instalação dos kubelet kubeadm kubectl e antes de fazer a inicialização do cluster. Ao efetuar o pull das imagens que são utilizadas.
#sudo yum install -y kubelet kubeadm kubectl
Exibe a seguinte mensagem de erro:
#sudo kubeadm config images pull
failed to pull image "k8s.gcr.io/kube-apiserver:v1.24.2": output: E0709 16:26:34.764278 2451 remote_image.go:218] "PullImage from image service failed" err="rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService" image="k8s.gcr.io/kube-apiserver:v1.24.2"
time="2022-07-09T16:26:34Z" level=fatal msg="pulling image: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService"
error: exit status 1
A correção foi após habilitar a configuração do systemd_cgroup.
cat > /etc/containerd/config.toml <<EOF
[plugins."io.containerd.grpc.v1.cri"]
systemd_cgroup = true
EOF
systemctl restart containerd
Ajustar arquivo de configuração do kind com vários nós.
$ kind create cluster --config kind-3nodes.yaml
Creating cluster "kind" ...
ERROR: failed to create cluster: [invalid configuration for node 1: "worker1" is not a valid node role, invalid configuration for node 2: "worker2" is not a valid node role]
Olá @badtuxx , o que acha que criar um simulado para o pessoal que deseja se preparar para os exames?
Poderíamos dividir em simulados para a cka e ckad.
Jeferson,
na criação do usuário para o K8S, o comando abaixo não localiza o arquivo .key (DIA 4)
Existe algum passo anterior ?
Agora setando as confs de user e key:
kubectl config set-credentials linuxtips --client-certificate=linuxtips.crt --client-key=linuxtips.key --embed-certs --kubeconfig=linuxtips-config
Revisión y actualización de la versión en Español desde las últimas modificaciones y pull requests de la versión en Portugués
Hoje na documentação os parágrafos estão soltos em linhas únicas.
Podemos realizar a modificação dos parágrafos para linhas contíguas?
Como a documentação está sendo escrita em Markdown seria legal utilizar um lint.
Eu utilizo o plugin davidanson.vscode-markdownlint.
É uma sugestão a utilização dele para formatar o markdown.
Abaixo uma imagem com exemplos de Warnings:
Para uma melhor experiência durante a leitura, seria interessante seguir o DescomplicandoDocker e começar a utilizar o Honkit.
Hey todos,
eu gerei um eBook do conteudo disponivel aqui.
Eu tenho minhas dúvidas sobre o quão interessante e, também, da opnião dos autores sobre essa iniciativa. Se todos os autores concordarem e não infrigir nenhum termo legal, posso criar um Pull Request com o projeto para se gerar o arquivo epub aqui nesse repositório.
WDYT?
Criação e aplicação de rbac no ambiente e como utilizar, isso ajuda a galera que usa o k8s em empresa como eu e precisa aplicar rbac em novas namespaces e na liberação de acesso e afins.
vlw #VAIIIII
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.