Kubernetes na nuvem da Oracle! De graça!?
Sim, você não leu errado! Um cluster pra chamar de seu, de graça pra sempre.
Conheci a Oracle Cloud Infrastructure em julho de 2021, sem muito conhecimento de kubernetes (trabalho com docker há tempos, mas kubernetes não tinha conhecimento sólido, no máximo alguns cursos explicando alguns conceitos e eu ainda não entendia bem como tudo se encaixava.). Portanto, achei mais interessante, subir uma única instancia com todo o recurso que era disponibilizado no modelo de serviços de nuvem Uso Livre (Always Free). Para quem quiser conhecer mais, segue o link oficial: https://www.oracle.com/br/cloud/free/
Até que… O @Badtux_, Jeferson Fernando da LINUXtips fez um vídeo onde falava sobre um dia inteiro de cursos e a possibilidade de certificação e um monte de coisa interessante, num sábado. Algo interessante é que fora mencionado a possibilidade de gerar uma nova conta até mesmo pra quem já tivesse uma, isso fazia muito sentido para o meu contexto.
Tenho um filho pequeno em casa, precisei negociar o tempo com a esposa, no trabalho eu estava de segunda a segunda resolvendo problemas e num dia que eu poderia estar livre, já estava arrumando mais coisas para fazer.
Chegou o dia, assisti de ponta a ponta, junto de alguns conhecidos os quais a gente ia conversando sobre os conteúdos. Houveram algumas dificuldades, criação da conta bugou, mas depois resolveram (não sei exatamente os valores mas chutando foram umas 10 mil contas gratuitas para sem criadas em alguns poucos dias então é perfeitamente aceitável, visto que estamos falando de algo sem custo algum).
Com algumas semanas tendo passado, comecei a testar um projeto que foi mencionado durante o sábado, o ampernetacle que prometia subir um cluster kubernetes, usando apenas os serviços de Uso Livre da nuvem da oracle. Logo no início quando as dificuldades surgiram, achei mais interessante fazer a prova da certificação.
Passado esse momento, comecei a pegar o ampernetacle novamente e deixá-lo bem funcional para os meus testes que já fiz e para os que virão =)
Seguindo o manual feito pelo autor do projeto, precisaremos de uma conta na OCI (utilizar região ashburn-1 foi algo mencionado pelos instrutores da Oracle que participaram do evento, as regiões no Brasil costumam falhar por falta de recurso para instanciar os nós), instalar o kubernetes no computador local para ter o kubeadm, kubelet e kubectl, o terraform e o OCI CLI. Na sequencia a parte de configuração das credenciais da OCI e ai sim, baixar o projeto e executar os comandos terraform para subir o cluster kubernetes limpo, sem nada em execução.
Ok, mas e agora? Tenho um cluster mas não tenho nada? Como posso testar isso e saber que realmente subiu o cluster? É, o cluster sobe uma infraestrutura básica para receber as aplicações, então precisamos por aplicações no cluster, porém, podemos executar alguns comandos que garantem que o cluster está online.
kubectl get nodes
Outros comandos que podem ser úteis para ver como está o cluster
kubectl get nodes -o wide
kubectl get pods --all-namespaces
Sabendo que o cluster funciona, o autor do projeto menciona algumas ressalvas. Caso fosse criado um serviço usando LoadBalancer este não iria funcionar, e como solução ele menciona o uso de NodePort e, não há um controlador para entrada de dados (ingress controller) e também não possui algo para o armazenamento de dados.
Para cada um desses problemas, encontrei uma solução.
Para o LoadBalancer e a entrada de dados funcionarem encontrei a solução MetalLB e o NGINX Ingress Controller possui suporte a este.
E para o armazenamento de dados, utilizei o Longhorn.
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.3/deploy/longhorn.yaml
Também adicionei o cert-manager para ter um gerador de ssl automático.
Seguem os manifestos que apliquei no cluster.
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/namespace.yaml kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/metallb.yaml
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/baremetal/deploy.yaml
E aqui segue um exemplo de um nginx, no fim desse exemplo você deve ter acesso ao dominio configurado e um ssl registrado automaticamente para o email configurado
Aplique no cluster cada arquivo com:
kubectl apply -f arquivo.yaml
Neste caso não utilizamos o Longhorn, mas você pode testar utilizando este exemplo da documentação oficial, basta inserir na spec do pvc: storageClassName: longhorn.
Proxy using SSH Tunnel
Browse the web using your SSH Server by making it a proxy server

Continue reading
How to auto start services on boot in Centos / Redhat / Oracle Linux?
To auto start services in Centos, Redhat or Oracle Linux, you can use builtin chkconfig utility. It is located in /sbin directory. If you are a regular user (non-root), then /sbin may not be in your path. Therefore, you may have to use the full path to access the chkconfig utility.

Display calibration
As i use the same monitor (LG W2486L) on my Nintendo Wii U and my Computer, i never payed attention to the fact that sometimes i couldn’t see some colors just for a wrong calibration on my display.
I do use Adobe Lightroom on this PC to make enhancements to the photos, but how could i know if my display was showing what i need to see?
A friend of mine told me about some videos that could help me to do that, on the link below you can download the videos and check more information about it.
http://www.avsforum.com/forum/139-display-calibration/948496-avs-hd-709-blu-ray-mp4-calibration.html
I just used the basic settings and now my display is very better, i can see a better range of whites and blacks.
YouTube Background for Android 2.2+

I made this app for a friend that wanted to play YouTube videos just to listen it’s audio. So it’s very simple, works by sharing the URL from YouTube video with the app or googleing the video. (for instance: go to google.com and type “YouTube lindsey”.
Unfortunately, google removed this app from google play, so its here now.
AWS lowers cloud pricing by launching the T2 instance type that can burst to handle occasional workload spike

T2 instances are Burstable Performance Instances that provide a baseline level of CPU performance with the ability to burst above the baseline. The baseline performance and ability to burst are governed by CPU Credits. Each T2 instance receives CPU Credits continuously at a set rate depending on the instance size. T2 instances accrue CPU Credits when they are idle, and use CPU credits when they are active. T2 instances are a good choice for workloads that don’t use the full CPU often or consistently, but occasionally need to burst (e.g. web servers, developer environments and small databases).
htop
![]()
htop is an interactive text-mode system-monitor process viewer for GNU/Linux. It aims to be a better ‘top’. It shows a frequently updated list of the processes running on a computer, normally ordered by the amount of CPU usage. Unlike top, htop provides a full list of processes running, instead of the top resource-consuming processes. htop uses color and gives visual information about processor, swap and memory status.
Simplify your life with SSH config file and ClusterSSH

If you’re anything like me, you probably log in and out of a half dozen remote servers on a daily basis. And if you’re even more like me, you have trouble remembering all of the various usernames, remote addresses and command line options for things like specifying a non-standard connection port or forwarding local ports to the remote machine. And sometimes you have to do the same thing in a lot of servers, this post is for you.
Apache restrict access based on IP address to selected directories
Apache web server allows server access based upon various conditions. For example you just want to restrict access to url http://subdomain.domain.com/ (mapped to /var/www/subdomain directory) from 192.168.1.0/24 network (within intranet).
Apache provides access control based on client hostname, IP address, or other characteristics of the client request using mod_access module.
How to solve “Falling back to the standard locale” in ubuntu
Sometimes you can get a error like this:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = “pt_BR.UTF-8”,
LC_ADDRESS = “pt_BR.UTF-8”,
LC_MONETARY = “pt_BR.UTF-8”,
LC_NUMERIC = “pt_BR.UTF-8”,
LC_TELEPHONE = “pt_BR.UTF-8”,
LC_IDENTIFICATION = “pt_BR.UTF-8”,
LC_MEASUREMENT = “pt_BR.UTF-8”,
LC_TIME = “pt_BR.UTF-8”,
LC_NAME = “pt_BR.UTF-8”,
LANG = “en_US.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
Press continue reading to understand how to fix this!
