https://niwoxuexi.com/blog/user/146
本文演示如何搭建一个三节点的Kubernetes Cluster集群(一个master节点和两个node节点),并且这三台服务器使用的都是CentOS 7系统。一、准备工作(三个节点都需要设置)1,安装 Docker所有的节点都需要安装Docker,具体步骤可以参考我之前写的文章:CentOS下 Docker、Docker Compose 的安装教程(附详细步骤)2,安装 kubelet、ku ...
Kubernetes是目前发展最快、市场占有率最高的容器编排引擎产品,并且还在快速地开发和迭代之中。我们在学习Kubernetes之前,需要理解它的几个重要概念,它们是组成Kubernetes集群的基石。一、Cluster、Master、Node 介绍1,ClusterCluster(集群) 是计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用。最简单的Clust ...
1,问题描述(1)在安装配置好Kubernetes后,正常情况下服务器关机重启,kubelet也会自动启动的。但最近配置的一台服务器重启后,输入命令kubectl get nodes查看节点报如下错误:The connection to the server 192.168.60.128:6443 was refused - did you specify the right host or po ...
kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。它的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 不过在我们日常学习中,要找到这么多台服务器来搭建Kubernetes集群并不如容易。好在Docker为我们提供一个的实验网站Play with Kubernetes(PWK),我们 ...
kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。 在之前的文章中,我介绍如何通过Docker为我们提供的实验网站Play with Kubernetes(PWK)来搭建Kubernetes集群(点击查看)。 但如果每次学习时都需要重新搭建一个K8s集群还是很麻烦。好在Kubernetes官网已经为我们准备好了现成的最小可用系统。我们通过Web浏览器就可 ...
出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。假设我们有如下一个集群:1,让 Master 也当作 Node 使用(1)如果想让Pod也能调度到在Master(本样例即localhost.localdomain)上,可以执行如下命令使其作为一个工作节点:注意:利用该方法,我们可以不使用minikube而创建一个单节点的K8S集群1kubectl taint n ...
1,问题描述(1)最近发现咋Kubernetes集群上有个处于Terminating状态的Pod:(2)但通过kubectl delete pods命令却死活无法将其删除:1kubectldeletepods httpd-app-6df58645c6-cxgcm2,解决办法(1)无论各种方式生成的pod, 均可以使用如下命令强制删除:1kubectldeletepods <pod> - ...
十四、集群日志管理:Elasticsearch1,Elasticsearch 介绍(1)Kubernetes开发了一个Elasticsearch附加组件来实现集群的日志管理。这是一个Elasticsearch、Fluentd和Kibana的组合。(2)它们分工如下:Fluentd负责从Kubernetes搜集日志并发送给Elasticsearch;Elasticsearch是一个搜索引擎,负责存储 ...
十三、Heapster1,基本介绍(1)Heapster是Kubernetes原生的集群监控方案。Heapster以Pod的形式运行,它会自动发现集群节点、从节点上的Kubelet获取监控数据。Kubelet则是从节点上的cAdvisor收集数据。(2)Heapster将数据按照Pod进行分组,将它们存储到预先配置的backend并进行可视化展示。Heapster当前支持的backend有Infl ...
十二、Weave Scope1,基本介绍Weave Scope是Docker和Kubernetes可视化监控工具。Weave Scope提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。2,安装步骤(1)安装Weave Scope的方法很简单,我们只需执行如下命令即可:1kubectl apply -f"https://cloud.we ...
我们知道目前已有多种支持Kubernetes的网络方案,比如Flannel、Calico、Canal、Weave Net等。因为它们都实现了CNI规范,所以用户无论选择哪种方案,得到的网络模型都一样,即每个Pod都有独立的IP,可以直接通信。 而这些方案除了底层实现不同,性能上有差异外。最大的区别就是就是是否支持Network Policy了。十一、使用 Canal 网络实现 Network ...
前文介绍了如何用Secret为Pod提供密码、Token、私钥等敏感数据;而对于一些非敏感数据,比如应用的配置信息,则可以用ConfigMap来实现. ConfigMap的创建、使用方式与Secret非常类似,主要的不同在于数据以明文的形式存放。下面通过样例进行演示。十、使用 ConfigMap 管理应用配置信息1,创建 ConfigMap与Secret一样,ConfigMap也支持四种创建方 ...
应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息如果直接保存在容器镜像中显然不妥,Kubernetes提供的解决方案是Secret。九、使用 Secret 管理敏感信息1,Secret 的功能介绍Secret会以密文的方式存储数据,避免了直接在配置文件中保存敏感信息。Secret会以Volume的形式被mount到Pod,容器可通过文件的方式使用Secret中 ...
我们知道容器和Pod的生命周期可能很短,会被频繁地销毁和创建。当容器销毁时,保存在容器内部文件系统中的数据都会被清除。为了持久化保存容器的数据,我们可以使用Kubernetes Volume。 除此之外,有一些场景可能一个pod里面的多个容器需要共享数据。同样可以借助Volume来实现。八、Volume 存储1,什么是Volume?(1)Volume的生命周期独立于容器,Pod中的容器可能被 ...
七、滚动更新、回滚1,滚动更新滚动更新的含义:一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新。滚动更新的好处:最大好处是零停机,整个更新过程始终有副本在运行,从而保证了业余的连续性。(1)假设我们要部署三个副本的应用,初始镜像是httpd:2.4.16,配置文件为httpd.v1.yml,内容如下:(2)然后通过kubectl apply进行部署:1kubectl app ...