一、 Kubernetes(K8S)简介
Kubernetes源于希腊语,意为舵手,因为首尾字母中间正好有8个字母,简称为K8S。Kubernetes是当今最流行的开源容器管理平台,是 Google 发起并维护的基于 Docker 的开源容器集群管理系统。它是大名鼎鼎的Google Borg的开源版本。
K8s构建在 Docker 技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容、负载均衡等一套功能,因为容器本身就是可移植的,所以 Kubernetes 容器集群也能跑在私有云、公有云或者混合云上面。
主要特性:
自动化装箱:
在不牺牲可用性的条件下,基于容器对资源的要求和约束自动部署容器。同时,为了提高利用率和节省更多资源,将关键和最佳工作量结合在一起。
自愈能力:
当容器失败时,会对容器进行重启;当所部署的Node节点有问题时,会对容器进行重新部署和重新调度;当容器未通过监控检查时,会关闭此容器;直到容器正常运行时,才会对外提供服务。
水平扩容:
通过简单的命令、用户界面或基于CPU的使用情况,能够对应用进行扩容和缩容。
服务发现和负载均衡:
开发者不需要使用额外的服务发现机制,就能够基于Kubernetes进行服务发现和负载均衡。
自动发布和回滚:
Kubernetes能够程序化的发布应用和相关的配置。如果发布有问题,Kubernetes将能够回归发生的变更。
保密和配置管理:
在不需要重新构建镜像的情况下,可以部署和更新保密和应用配置。
存储编排:
自动挂接存储系统,这些存储系统可以来自于本地、公共云提供商(例如:GCP和AWS)、网络存储(例如:NFS、iSCSI、Gluster、Ceph、Cinder和Floker等)。
不同的应用部署方案
1、传统部署方式
应用直接在物理机上部署,机器资源分配不好控制,出现Bug时,可能机器的大部分资源被某个应用占用,导致其他应用无法正常运行,无法做到应用隔离;
K8S1.23.5部署(此前1.17版本步骤囊括)及问题记录_没有可用软件包 kubelet-1.23.5-CSDN博客