官方文档地址:https://rook.io/docs/rook/v1.8/quickstart.html Kubernetes 最小版本号 Kubernetes 最小版本号:Kubernetes v1.16 前提 Kubernetes 集群各节点主机安装 lvm2 软件:yum -y install lvm2 Kubernetes 集群各节点主机内核版本不低于4.17 Kubernetes 集群有至少 3 个工作节点(master和worker),且每个工作节点都有一块初系统盘以外的 未格式化…
容器的持久化存储 容器的持久化存储是保存容器存储状态的重要手段,存储插件会在容器里挂载一个基于网络或者其他机制的远程数据卷,使得在容器里创建的文件,实际上是保存在远程存储服务器上,或者以分布式的方式保存在多个节点上,而与当前宿主机没有任何绑定关系.这样,无论你在其他哪个宿主机上启动新的容器,都可以请求挂载指定的持久化存储卷,从而访问到数据卷里保存的内容.由于 Kubernetes 本身的松耦合设计,绝大多数存储项目,比如 Ceph.GlusterFS.NFS 等,都可以为 Kubernetes…
安装traefik 参考步骤:https://blog.51cto.com/u_13760351/2764008?xiangguantuijian&01 修改好的四个yaml文件下载地址:https://files.cnblogs.com/files/sanduzxcvbnm/bak.zip 里面的域名可以使用真实的域名,并提前配置好域名解析. kuboard界面中使用 根据文章:https://www.cnblogs.com/sanduzxcvbnm/p/14981411.html 的讲述,I…
转载自:https://mp.weixin.qq.com/s/CdLioTzU4oWI688lqYKXUQ 1 环境准备 1.1 基础环境 3台配置一致的虚拟机 虚拟机配置:4c 8g 虚拟机操作系统:centos7 硬盘:vda:40G vdb:20G Kubernete 版本:1.20.0 Docker版本:20.10.7 默认k8s 已安装完成,采用kubeadm 容器化安装 1.2 所安装rook/ceph版本: ceph:v15.2.11 rook:1.6.3 1.3 前提 正常运行的…
1.概述 本文档主要介绍如何在k8s集群中部署prometheus server用来作为监控的数据采集服务器,这样做可以很方便的对k8s集群中的指标.pod的.节点的指标进行采集和监控. 2.下载镜像并且上传到本地的habor 可以先将prometheus server的镜像下载并且导入到本地的镜像仓库中. 镜像版本信息 docker pull prom/prometheus:v2.33.1 3.节点添加标签 为了保证prometheus的数据可以在重启或者重新调度之后依然在一个主机上,可以考虑…
目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.GetMesh 4.1 如何开始使用? 4.2 如何开始? 4.3 使用 GetMesh 安装 Istio 4.4 验证配置 4.5 管理多个 Istio CLI 4.6 CA 集成 五.发现选择器(Discovery Selectors) 5.1 配置发现选择器 六.实战(k8s集群安装Istio 1…
本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了kubectl命令行工具来与集群通信.如果未准备好集群,那么你可以使用Minikube创建一个K8S集群,或者你也可以使用下面K8S环境二者之一: Katacoda Play with Kubernetes 如果需要查看K8S版本信息,可以输入指令kubectl version. 在本练习中,我们将使…
一次在k8s集群中创建实例发现etcd集群状态出现连接失败状况,导致创建实例失败.于是排查了一下原因. 问题来源 下面是etcd集群健康状态: [root@docker01 ~]# cd /opt/kubernetes/ssl/ [root@docker01 ssl]# /opt/kubernetes/bin/etcdctl \ > --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem \ > --endpoints…
背景 1 台 master 加入集群后发现忘了修改主机名,而在 k8s 集群中修改节点主机名非常麻烦,不如将 master 退出集群改名并重新加入集群(前提是用的是高可用集群). 操作步骤 ssh 登录另外一台 master 节点将要改名的 master 节点移出集群. kubectl drain blog-k8s-n0 kubectl delete node blog-k8s-n0 登录已退出集群的 master 服务器重置 kubelet 配置并重新加入集群. kubeadm reset k…
1. k8s集群的安装 目录 1. k8s集群的安装 1.架构: 2.环境准备 3.master节点安装etcd 4. master节点安装kubernetes 5.node节点安装kubernetes 6.所有节点配置flannel网络 7.配置master为镜像仓库 Kubernetes借鉴了Borg的设计理念,比如Pod.Service.Labels和单Pod单IP等.Kubernetes的整体架构跟Borg非常像,如下图所示: 1.架构: 除了核心组件,还有一些推荐的Add-ons: 组…
一次在k8s集群中创建实例发现etcd集群状态出现连接失败状况,导致创建实例失败.于是排查了一下原因. 问题来源 下面是etcd集群健康状态: 1 2 3 4 5 6 7 8 9 10 11 [root@docker01 ~]# cd /opt/kubernetes/ssl/ [root@docker01 ssl]# /opt/kubernetes/bin/etcdctl \ > --ca-file=ca.pem --cert-file=server.pem --key-file=server-…
本文首发于 Nebula Graph Community 公众号 解决思路 解决 K8s 部署 Nebula Graph 集群后连接不上集群问题最方便的方法是将 nebula-algorithm / nebula-spark 运行在与 nebula-operator 相同的网络命名空间里,将 show hosts meta 的 MetaD 域名:端口 格式的地址填进配置里就可以了. 注:这里需要 2.6.2 或者更新的版本,nebula-spark-connector / nebula-algo…
扩展博客 以下,是我在手动的CDH版本平台下,安装Hue. CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz)(博主推荐) 以下,是我在Clouderamanager平台下,安装Hue. 给Clouderamanager集群里安装可视化分析利器工具Hue步骤(图文详解) 本博文呢,是在ambari集群里 首先, https://github.com/EsharEditor/ambari-hue-servic…
扩展博客 以下,是我在手动的CDH版本,安装Hue. CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz)(博主推荐) 以下,是我在Ambari集群平台下,安装Hue. 给Ambari集群里安装可视化分析利器工具Hue步骤(图文详解) 本博文呢,是在Clouderamanager集群集群里 这个很简单,不多说,直接在Add services里,添加就是了 藏经阁技术资料分享群二维码…
先决条件 为确保您有一个准备就绪的 Kubernetes 集群Rook,您可以按照这些说明进行操作. 为了配置 Ceph 存储集群,至少需要以下本地存储选项之一: 原始设备(无分区或格式化文件系统) 这需要lvm2在主机上安装.为了避免这种依赖性,您可以在磁盘上创建一个完整的磁盘分区(见下文) 原始分区(无格式化的文件系统) block模式下存储类可用的持久卷 部署 Rook Operator $ git clone --single-branch --branch release-1.7 ht…
注:本文使用的Traefik为1.x的版本 在生产环境中,我们常常需要控制来自互联网的外部进入集群中,而这恰巧是Ingress的职责. Ingress的主要目的是将HTTP和HTTPS从集群外部暴露给该集群中运行的服务.这与Ingress控制如何将外部流量路由到集群有异曲同工之妙.接下来,我们举一个实际的例子来更清楚的说明Ingress的概念. 首先,想象一下在你的Kubernetes集群中有若干个微服务(小型应用程序之间彼此通信).这些服务能够在集群内部被访问,但我们想让我们的用户从集群外部也…
在2018年年初,Jenkins X首次发布,它由Apache Groovy语言的创建者Jame Strachan创建.Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发.运行和部署过程.仅需一条Jenkins X命令,管理员可以创建一个Kubernetes集群,并安装用于管理应用程序.创建流水线并部署一个应用程序到不同的环境中的工具. Jenkin X还是…
自从开始在 kubernetes 集群中部署 nodelocaldns 以提高 dns 解析性能以来,一直被一个问题困扰,只要一部署 nodelocaldns ,在 coredns 中添加的 rewrite 与 hosts 配置(如下)就失效,很是郁闷. rewrite stop { name regex ([a-zA-Z0-9-]+)_([a-zA-Z0-9-]+)\.$ {1}-{2}.production.svc.cluster.local answer name ([a-zA-Z0-9-…
随着全球各大企业开始广泛采用Kubernetes,我们看到Kubernetes正在向新的阶段发展.一方面,Kubernetes被边缘的工作负载所采用并提供超越数据中心的价值.另一方面,Kubernetes正在驱动机器学习(ML)和高质量.高速的数据分析性能的发展. 我们现在所了解到的将Kubernetes应用于机器学习的案例主要源于Kubernetes 1.10中一个的功能,当时图形处理单元(GPUs)成为一个可调度的资源--现在这一功能处于beta版本.单独来看,这两个都是Kubernetes…
情况详细描述; k8s集群,一台master,两台worker 在master节点上部署一个单节点的nacos,导致master节点状态不在线(不论是否修改nacos的默认端口号都会导致master节点不在线). 但是在worker节点上就可以. 报错信息如下: Message from syslogd@localhost at Jun 2 11:08:51 ... haproxy[1127]: proxy kube-master has no server available! Message…
安装Kubernetes 测试环境使用kubeadm安装kubernetes v1.6.3版本, 安装过程略过. 为Helm创建客户端认证 客户端认证是为了能够使用helm命令行调用Helm的服务端Tiller. cd /etc/kubernetes/pki/ # 编译认证文件 openssl genrsa -out helm.key 2048 openssl req -new -key helm.key -subj "/CN=helm" -out helm.csr openssl x…
一般,我们从网上看到的帖子和资料, 都是用prometheus监控k8s的各项资源, 如api server, namespace, pod, node等. 那如果是自己的业务pod上的自定义metrics呢? 比如,一个业务pod开放了/xxx/metrics, 那么,如果用prometheus来抓取呢? 这里,我们就会用到kubernetes-pods这样一个job. 然后,在业务的deployment中,加annotation来配合抓取配置. 如下: prometheus-configma…
一,获取harbor的登陆用户名和密码(demo_user/demo_pwd) 二,使用kubectl命令生成secret(不同的namespace要分别生成secret,不共用) kubectl create secret docker-registry harborsecret \ --docker-server=harbor.xxxx.com.cn \ --docker-username= demo_user \ --docker-password= demo_pwd \ --docker…
以前,判断K8S里的DNS功能是否正常时,得想很多办法. 如果有了busybox-dig镜像,则作这事就简单多了. 如下命令,直接部署 kubectl run busybox -it --image=datica/busybox-dig --restart=Never --rm sh 上述命令会直接进入容器内,使用如下命令,即可进行DNS解析. dig xxx.default.svc.cluster.local 输出类似如下,注意ANSWER SECTION和SERVER: ; <<>&…
查找了很多文档,没有完全达到我要求的, 于是,作了一定的调整,成现在这样. 操作步骤如下: 一,准备好两个文件. jmx_prometheus_javaagent-0.3.1.jar jmx_exporter.yml jmx_exporter.yml作最简单配置如下: --- rules: - pattern: ".*" 二,tomcat的启动项,一直在bin下单独的setenv.sh里操作,新增如下启动选项,将jar包及yaml加入启动选项. JAVA_OPTS="$JAV…
@ 目录 1. 安装说明 2. 节点规划 3. 基本配置 4. 内核配置 5. 基本组件安装 6. 高可用组件安装 7. 集群初始化 8. 高可用Master 9. 添加Node节点 10. Calico安装 11. Metrics Server部署 12. Dashboard部署 1. 安装说明 虽然K8s 1.20版本宣布将在1.23版本之后将不再维护dockershim,意味着K8s将不直接支持Docker,不过大家不必过于担心.一是在1.23版本之前我们仍然可以使用Docker,二是do…
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token过期处理 Kubeadm Node及Calico节点配置 Dashboard&Metrics Server安装 k8s高可用架构解析 Etcd Cluster:键值数据库,存放k8s的数据,比如我们创建的资源,所做的变更 Master:控制节点,控制整个集群 Node:主要用来跑pod和容器 Kub…
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制Node节点及Calico配置 二进制高可用基本配置 k8s高可用架构解析,高可用Kubernetes集群规划,设置静态ip,请参考上一篇文章 配置所有节点hosts文件(发送键输到入所有会话) vim /etc/hosts 127.0.0.1 localhost localhost.localdoma…
目录 二进制Metrics&Dashboard安装 二进制高可用集群可用性验证 生产环境k8s集群关键性配置 Bootstrapping: Kubelet启动过程 Bootstrapping: CSR申请和证书颁发原理 Bootstrapping: 证书自动续期原理 二进制Metrics&Dashboard安装 安装CoreDNS 安装Metrics Server 安装dashboard 安装CoreDNS 安装对应版本(推荐) cd /root/k8s-ha-install/ 如果更改了…
     前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for desktop中启用就可以了.但是我发现,启用了k8s后,Docker for desktop会消耗大量的系统资源,导致系统变得很慢.据说windows 上的WSL 2 性能不错,这次我尝试在WSL Linux上安装K8s并部署我们的微服务,看看还会不会出现系统资源消耗过大的情况.      关于网络:我用的是…