综合( 右侧选择分类 )
hangge

K8s - Kubernetes集群的安装部署教程(CentOS系统)

本文演示如何搭建一个三节点的Kubernetes Cluster集群(一个master节点和两个node节点),并且这三台服务器使用的都是CentOS 7系统。一、准备工作(三个节点都需要设置)1,安装 Docker所有的节点都需要安装Docker,具体步骤可以参考我之前写的文章:CentOS下 Docker、Docker Compose 的安装教程(附详细步骤)2,安装 kubelet、ku
79 人浏览
hangge

K8s - Kubernetes重要概念介绍(Cluster、Master、Node、Pod、Controller、Service、Namespace)

Kubernetes是目前发展最快、市场占有率最高的容器编排引擎产品,并且还在快速地开发和迭代之中。我们在学习Kubernetes之前,需要理解它的几个重要概念,它们是组成Kubernetes集群的基石。一、Cluster、Master、Node 介绍1,ClusterCluster(集群) 是计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用。最简单的Clust
73 人浏览
hangge

K8s - 解决主机重启后kubelet无法自动启动问题

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
115 人浏览
hangge

K8s - 重新生成token以及hash值(解决令牌过期的问题)

当我们使用kubeadm init完成Master节点的安装后,界面上会输出如下kubeadm join ……命令。这个命令使用来将各个节点加入集群中。kubeadm join 192.168.60.128:6443 --token w5ndme.t66qlcrcw6l2j1k6 --discovery-token-ca-cert-hash sha256:890270a05467595010abc
72 人浏览
hangge

K8s - 免费的Kubernetes在线实验平台介绍1(Play with Kubernetes)

kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。它的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 不过在我们日常学习中,要找到这么多台服务器来搭建Kubernetes集群并不如容易。好在Docker为我们提供一个的实验网站Play with Kubernetes(PWK),我们
71 人浏览
hangge

K8s - 免费的Kubernetes在线实验平台介绍2(官网提供的在线系统)

kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。 在之前的文章中,我介绍如何通过Docker为我们提供的实验网站Play with Kubernetes(PWK)来搭建Kubernetes集群(点击查看)。 但如果每次学习时都需要重新搭建一个K8s集群还是很麻烦。好在Kubernetes官网已经为我们准备好了现成的最小可用系统。我们通过Web浏览器就可
83 人浏览
hangge

K8s - 让Master也能当作Node使用的方法(允许将Pod副本调度到Master节点上)

出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。假设我们有如下一个集群:1,让 Master 也当作 Node 使用(1)如果想让Pod也能调度到在Master(本样例即localhost.localdomain)上,可以执行如下命令使其作为一个工作节点:注意:利用该方法,我们可以不使用minikube而创建一个单节点的K8S集群1kubectl taint n
84 人浏览
hangge

K8s - Kubernetes使用详解14(集群日志管理:Elasticsearch)

十四、集群日志管理:Elasticsearch1,Elasticsearch 介绍(1)Kubernetes开发了一个Elasticsearch附加组件来实现集群的日志管理。这是一个Elasticsearch、Fluentd和Kibana的组合。(2)它们分工如下:Fluentd负责从Kubernetes搜集日志并发送给Elasticsearch;Elasticsearch是一个搜索引擎,负责存储
87 人浏览
hangge

K8s - Kubernetes使用详解13(可视化监控工具2:Heapster)

十三、Heapster1,基本介绍(1)Heapster是Kubernetes原生的集群监控方案。Heapster以Pod的形式运行,它会自动发现集群节点、从节点上的Kubelet获取监控数据。Kubelet则是从节点上的cAdvisor收集数据。(2)Heapster将数据按照Pod进行分组,将它们存储到预先配置的backend并进行可视化展示。Heapster当前支持的backend有Infl
99 人浏览
hangge

K8s - Kubernetes使用详解12(可视化监控工具1:Weave Scope)

十二、Weave Scope1,基本介绍Weave Scope是Docker和Kubernetes可视化监控工具。Weave Scope提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。2,安装步骤(1)安装Weave Scope的方法很简单,我们只需执行如下命令即可:1kubectl apply -f"https://cloud.we
84 人浏览
hangge

K8s - Kubernetes使用详解11(使用Canal网络实现Network Policy)

我们知道目前已有多种支持Kubernetes的网络方案,比如Flannel、Calico、Canal、Weave Net等。因为它们都实现了CNI规范,所以用户无论选择哪种方案,得到的网络模型都一样,即每个Pod都有独立的IP,可以直接通信。 而这些方案除了底层实现不同,性能上有差异外。最大的区别就是就是是否支持Network Policy了。十一、使用 Canal 网络实现 Network
90 人浏览
hangge

K8s - Kubernetes使用详解10(使用ConfigMap管理应用配置信息)

前文介绍了如何用Secret为Pod提供密码、Token、私钥等敏感数据;而对于一些非敏感数据,比如应用的配置信息,则可以用ConfigMap来实现. ConfigMap的创建、使用方式与Secret非常类似,主要的不同在于数据以明文的形式存放。下面通过样例进行演示。十、使用 ConfigMap 管理应用配置信息1,创建 ConfigMap与Secret一样,ConfigMap也支持四种创建方
85 人浏览
hangge

K8s - Kubernetes使用详解9(使用Secret管理敏感信息)

应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息如果直接保存在容器镜像中显然不妥,Kubernetes提供的解决方案是Secret。九、使用 Secret 管理敏感信息1,Secret 的功能介绍Secret会以密文的方式存储数据,避免了直接在配置文件中保存敏感信息。Secret会以Volume的形式被mount到Pod,容器可通过文件的方式使用Secret中
84 人浏览
hangge

K8s - Kubernetes使用详解8(使用Volume存储实现数据持久化)

我们知道容器和Pod的生命周期可能很短,会被频繁地销毁和创建。当容器销毁时,保存在容器内部文件系统中的数据都会被清除。为了持久化保存容器的数据,我们可以使用Kubernetes Volume。 除此之外,有一些场景可能一个pod里面的多个容器需要共享数据。同样可以借助Volume来实现。八、Volume 存储1,什么是Volume?(1)Volume的生命周期独立于容器,Pod中的容器可能被
73 人浏览
hangge

K8s - Kubernetes使用详解7(滚动更新、回滚)

七、滚动更新、回滚1,滚动更新滚动更新的含义:一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新。滚动更新的好处:最大好处是零停机,整个更新过程始终有副本在运行,从而保证了业余的连续性。(1)假设我们要部署三个副本的应用,初始镜像是httpd:2.4.16,配置文件为httpd.v1.yml,内容如下:(2)然后通过kubectl apply进行部署:1kubectl app
74 人浏览
hangge

K8s - Kubernetes使用详解6(Service的创建和使用)

Pod中的容器很可能因为各种原因发生故障而死掉,Controller会通过动态创建和销毁Pod来保证应用整体的健壮性。而由于每次新Pod都会分配到新的IP地址,为了能让客户端找到并访问这个服务,Kubernetes给出了Service这个解决方案。六、Service 的创建和使用1,Service 介绍(1)Kubernetes Service从逻辑上代表了一组Pod,具体是哪些Pod则是由la
71 人浏览
hangge

K8s - Kubernetes使用详解5(运行CronJob样例)

Linux中有cron程序可以定时执行任务,而Kubernetes的CronJob则提供了类似的功能,可以定时执行Job。五、运行 CronJob1,准备工作(1)Kubernetes默认没有enable CronJob功能,需要在kube-apiserver中加入这个功能。首先我们修改kube-apiserver的配置文件:1vi /etc/kubernetes/manifests/kube-a
77 人浏览
hangge

K8s - Kubernetes使用详解4(运行Job样例)

容器按照持续运行的时间可分为两类:服务类容器和工作类容器。 服务类容器通常持续提供服务,需要一直运行,比如http server,daemon等。工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。对于Kubernetes里个各种Controller来说:Deployment、ReplicaSet和DaemonSet都用于管理服务类容器。Job、CronJon则用于管理工作类容器。下面我就
83 人浏览
hangge

K8s - Kubernetes使用详解3(运行DaemonSet样例)

三、运行 DaemonSet1,DaemonSet 与Deployment 的区别Deployment部署的副本Pod会分布在各个Node上,每个Node都可能运行好几个副本。DaemonSet的不同之处在于:每个Node上最多只能运行一个副本。2,DaemonSet 的典型应用场景在集群的每个节点上运行存储Daemon,比如:glusterd或ceph。在每个节点上运行日志收集Daemon,比如
90 人浏览
hangge

K8s - Kubernetes使用详解2(运行Deployment样例2:使用配置文件创建资源)

我们知道Kubernetes支持两种创建资源的方式:命令和配置文件。在上文中我介绍了前者(点击查看),下面我接着介绍后者:通过配置文件创建资源。二、运行 Deployment(使用配置文件)1,基本用法(1)首先我创建一个配置文件(nginx.yml),里面配置好所有资源的属性,内容如下:1234567891011121314apiVersion: extensions/v1beta1 # a
88 人浏览