What do [I wish I knew] / I think you should know *before* starting
Dockerfiles: I wish I knew how easy it is to use Dockerfiles to create your own custom container images from the beginning! I wish I had attempted sooner, it is so powerful being able to do that! You can often find dockerfiles on github when you are browsing open source project code alongside the docker-compose.yaml that is used to deploy the app.
Kubernetes:
Its not infinitely hard! If you want the most flexible deployment system its the way to go. You can configure services to stay online during reboots of servers and maintenance. Kubernetes has built in features to support replicating application data between multiple remote sites and the cloud. Kubernetes has a modern design that considers everything that you might need in the modern world it just has a learning curve that is steepest at the beginning.
I sometimes wonder if I should've skipped docker for kubernetes. I was super intimidated with a lot of the tech sector and later found things are easier than I assumed. I have a good enough understanding of kubernetes now to say if I put the time in I'd probably be pretty fluent with it by now even if its somewhat moreĀ painful to learn, its just about putting in the time. I definitely plan to learn more soon.
I have spent very little time configuring a cluster consisting of 10 Nodes; 5 masters, 5 workers. I was recommended to scale down to 3 masters max even if I increase workers. Apparently lots of masters isnt really needed lol. I have been planning on switching the deployment to Cilium for a CNI, I am running Calico and metallb and I found after deploying kubernetes and learning more that Cilium would be my preference. Many users I have discussed with are running Cilium as well after making this decision so it seems more unanimous of a decision. Though metallb and calico is just fine!
I wish I ever thought to research the purpose of base linux directories:
https://www.pathname.com/fhs/pub/fhs-2.3.html
Directory | Description |
---|---|
bin | Essential command binaries |
boot | Static files of the boot loader |
dev | Device files |
etc | Host-specific system configuration |
lib | Essential shared libraries and kernel modules |
media | Mount point for removeable media |
mnt | Mount point for mounting a filesystem temporarily |
opt | Add-on application software packages |
sbin | Essential system binaries |
srv | Data for services provided by this system |
tmp | Temporary files |
usr | Secondary hierarchy |
var | Variable data |
I used to store my docker deployments in /mnt/app_data/Server/_docker-stack/<appname> š„“
Now I store them at /opt/docker/<app name> I only put data in the /mnt or /media folders if it relates to a different disk or medium than the primary disk that the OS is installed on. Its super tidy, and the way it was designed to be used.
No comments to display
No comments to display