1561003699
Kubernetes is a growing trend. In recent years, K8s technology has experienced a rapid rise from a small open source Google project to the main project of the Cloud Native Computing Foundation (CNCF).
Nowadays, many organizations and companies are using it to automate the management of containerized applications. But there are a lot of questions around Kubernetes, and in this article, I will try to answer the most popular ones.
Kubernetes is a cluster orchestration system. It was designed from the ground up to be an environment for building distributed applications from containers.
The main Kubernetes task is to build and manage distributed systems. Kubernetes’s goal is to simplify the organization and scheduling of your application through the fleet. At a high level, this is the operating system for your cluster.
Basically, it allows you to not worry about which specific machines in the data center run components of your application.
In addition, it provides common primitives for testing and replicating your application on these machines. As well as services for connecting your application to microservices so that each layer in your application is separated from other layers so that you can scale/update/maintain them independently from each other.
Although you can perform many of these functions at the application level, such solutions are usually one-time and unreliable; it’s much better to have a separation of issues when the orchestration system is responsible for running the application, and you only think about your application code.
Have you ever wondered why Kubernetes called the K8s?
So-called numeronyms appeared in the late ’80s. There are a lot of different stories about how people actually started to use them.
But all of the stories share the same idea that to simplify communication, people in IT companies started to use numeronym forms to shorten the words: taking the first and the last letter and between them putting a number of the rest letters.
For instance, the term “i18n,” is derived from the spelling of “internationalization,” as the letter “i” plus 18 letters plus the letter “n.” And similar for Kubernetes, “k” plus 8 letters plus the letter “s.”
Docker Swarm was created by Docker Inc. and grew up as an orchestrator for Docker. Kubernetes was originally made by Google for internal use (the Borg project), and now the whole Open Source world is working on it. Docker Swarm is a closed system.
Both are trying to solve the same problem – container orchestration on a large number of hosts. These are two fundamentally similar systems, there are still differences.
You need container orchestrators when you have a microservice application consisting of several services, which consist of containers. And there is another part – the servers on which this application can run.
The container orchestrator performs many tasks. The first task is to initially place the containers of your application on the required number of servers, taking into account the load of the servers, in order to prevent the container from reaching the overloaded server, and also considering the memory and processor requirements for a particular container.
There is another scenario, when an application needs to be scaled horizontally, adding more containers of the same type.
The container orchestrator performs the task of scaling up or down the applications taking into account the resources consumed on each target server, as well as the resource requirements of each application.
In this case, the orchestrator can support the so-called affinity and anti-affinity principles. The last one allows us to guarantee that, for example, all containers of the same type will be launched on different physical servers.
This is called container auto-healing or rescheduling.
If the server fails, you need to properly restore the application. K8s can monitor every container/pod of application to see if this container/pod is alive or not. And if not, Kubernetes will restart it.
In fact, in K8s, this function is called “maintaining the right number of replicas.”
In the case of Kubernetes, you can say, “I want to have 5 containers of my WordPress,” and K8s will ensure that you always have 5 containers.
If suddenly there are less than 5 containers, Kubernetes will launch a new container to maintain the quantity. This is important for processing the application and predicting the load.
K8s also monitors the state of the servers on which the application is running, and if the server is dead, it will reschedule all its containers on other servers.
Kubernetes is designed to manage container orchestration, and OpenStack is initially designed to manage virtual machines. In other words, OpenStack is used to manage traditional virtual infrastructure, and Kubernetes for containerized.
These are two different systems, both of which are open source systems, developed by the community. The difference is that Kubernetes was originally developed by Google for a long time under the name Borg, and during this time it became a stable service; even the first version was rich in functionality and fairly stable.
OpenStack was developed almost from scratch by the community and OpenStack is very much fragmented.
Both the community and about 30 different companies make their own versions. K8s is more like Apple, and OpenStack is more like Android. Overhead costs and time-to-market for running Kubernetes in production is much lower than with OpenStack.
At the same time, OpenStack manages virtual machines, for example, KVM. Kubernetes can run on top of OpenStack and this is a typical scenario for cloud providers.
Kubernetes is not only suitable for stateless applications. An example of a stateless application is usually web applications that perform some function, give HTTP pages, and do not store their states themselves.
It was originally made for stateless apps and support for stateful applications was very limited and unreliable.
Kubernetes supports the concept of persistent volume and persistent volume claims. It also supports various types of volumes, like block storages that can be mounted to pods in exclusive mode, as well as file storages that can be mounted to several pods simultaneously using the NFS protocol, for instance.
Therefore, you can safely place databases or persistent message queues in Kubernetes.
Initially, K8s supported only deployed in one datacenter and work in a hybrid mode was not available.
After that, the Kubernetes Federation was developed, which allowed organizing a hybrid scenario when there are several Kubernetes clusters in different datacenters that are controlled from one control panel.
In fact, one of the clusters becomes the main federated cluster and the hybrid cloud control panel is installed on it. With it, you can manage deployments in several clusters that are far from each other.
But it is also possible in the multi-cloud scenario. If you have one on-premise cluster, one cluster on Amazon, another on Google Cloud, this will all be supported.
In the case of several cloud providers, you do not have to adapt the application to work at once with several remote clusters that work in Google, Amazon, because the Kubernetes will correctly interpret annotations in their resources for each cloud.
The Kubernetes federation v1 project has been developing for a long time and it has reached an impasse, Kubernetes federation v2 is currently developing, which fundamentally works in a different way with a hybrid cloud.
In the case of Docker Swarm, it was necessary to manage an external load balancer in order to balance the load.
K8s contains automatic load balancing based on the concept of services and, in addition, an ingress controller that supports load balancing by DNS name and path.
Many options are supported. There is also integration with the cloud load balancer: if you work somewhere in Amazon, Google Cloud, or OpenStack, there is integration out of the box with those load balancers.
The problem is that people who come from the Docker world only work with containers.
They are trying to transfer the knowledge they gained when using Docker Swarm and containers to work with Kubernetes. But it doesn’t work this way. In Kubernetes, the control unit is the pod, not the container.
A pod is a group of one or more containers that perform the same function. This is a component of a single application. Kubernetes manages pods, scales and monitors their condition. The application in Kubernetes is scaled by the number of pods, but not containers.
In one pod most often there is a single container, but there may be several of them and this set of containers is rigidly fixed. Inside pod containers do not scale in any way and this should be considered when designing applications.
Several advantages that Kubernetes gives out of the box:
#kubernetes #docker #devops
1602964260
Last year, we provided a list of Kubernetes tools that proved so popular we have decided to curate another list of some useful additions for working with the platform—among which are many tools that we personally use here at Caylent. Check out the original tools list here in case you missed it.
According to a recent survey done by Stackrox, the dominance Kubernetes enjoys in the market continues to be reinforced, with 86% of respondents using it for container orchestration.
(State of Kubernetes and Container Security, 2020)
And as you can see below, more and more companies are jumping into containerization for their apps. If you’re among them, here are some tools to aid you going forward as Kubernetes continues its rapid growth.
(State of Kubernetes and Container Security, 2020)
#blog #tools #amazon elastic kubernetes service #application security #aws kms #botkube #caylent #cli #container monitoring #container orchestration tools #container security #containers #continuous delivery #continuous deployment #continuous integration #contour #developers #development #developments #draft #eksctl #firewall #gcp #github #harbor #helm #helm charts #helm-2to3 #helm-aws-secret-plugin #helm-docs #helm-operator-get-started #helm-secrets #iam #json #k-rail #k3s #k3sup #k8s #keel.sh #keycloak #kiali #kiam #klum #knative #krew #ksniff #kube #kube-prod-runtime #kube-ps1 #kube-scan #kube-state-metrics #kube2iam #kubeapps #kubebuilder #kubeconfig #kubectl #kubectl-aws-secrets #kubefwd #kubernetes #kubernetes command line tool #kubernetes configuration #kubernetes deployment #kubernetes in development #kubernetes in production #kubernetes ingress #kubernetes interfaces #kubernetes monitoring #kubernetes networking #kubernetes observability #kubernetes plugins #kubernetes secrets #kubernetes security #kubernetes security best practices #kubernetes security vendors #kubernetes service discovery #kubernetic #kubesec #kubeterminal #kubeval #kudo #kuma #microsoft azure key vault #mozilla sops #octant #octarine #open source #palo alto kubernetes security #permission-manager #pgp #rafay #rakess #rancher #rook #secrets operations #serverless function #service mesh #shell-operator #snyk #snyk container #sonobuoy #strongdm #tcpdump #tenkai #testing #tigera #tilt #vert.x #wireshark #yaml
1635748246
Sự hiện diện của giải pháp Smart Locker, như một nâng tầm dịch vụ, sẽ giúp khách hàng chứa đựng tư trang trước khi thoải mái tận hưởng thời gian mua sắm.
#tủ_locker #tủ_sắt_locker #locker #tu_sat_locker #tu_locker #tủ_locker_sắt #tủ_nhân_viên #tu_locker_sat #tủ_locker_giá rẻ #tu_locker_gia_re #tủ_cá_nhân_locker #tủ_sắt_nhiều_ngăn #tủ_đựng_đồ_nhân_viên
Website:
1637227412
Tủ thông minh giúp tăng đáng kể thời gian lao động cá nhân và đơn giản khâu vận hành. Công nghệ điện tử và điện thoại thông minh được sử dụng nhằm hạn chế lãng phí nguồn lực.
#tủ_locker #tủ_sắt_locker #locker #tu_sat_locker #tu_locker #tủ_locker_sắt #tủ_nhân_viên #tu_locker_sat #tủ_locker_giá rẻ #tu_locker_gia_re #tủ_cá_nhân_locker #tủ_sắt_nhiều_ngăn #tủ_đựng_đồ_nhân_viên
Website:
1637298473
Tủ locker ABS w600 khối gồm có 24 ngăn đều nhau, cánh sắt mở sử dụng khóa thông minh , tay nắm và có thêm tấm chia ngăn, trên mỗi cánh cửa được dập 1 bảng tên nhân viên và 1 lỗ thông gió
#tủ_locker #tủ_sắt_locker #locker #tu_sat_locker #tu_locker #tủ_locker_sắt #tủ_nhân_viên #tu_locker_sat #tủ_locker_giá rẻ #tu_locker_gia_re #tủ_cá_nhân_locker #tủ_sắt_nhiều_ngăn #tủ_đựng_đồ_nhân_viên
Website:
1636358771
Tủ iLocker mang nhiều đặc điểm nổi bật, cùng các phương thức bảo mật khác nhau như Fingerprint, RFID, Face ID hoặc QR code được xem là giải pháp lưu trữ tối ưu của Smart Locker
#tủ_locker #tủ_sắt_locker #locker #tu_sat_locker #tu_locker #tủ_locker_sắt #tủ_nhân_viên #tu_locker_sat #tủ_locker_giá rẻ #tu_locker_gia_re #tủ_cá_nhân_locker #tủ_sắt_nhiều_ngăn #tủ_đựng_đồ_nhân_viên
Website: