kubernetes实战篇之helm安装】的更多相关文章

系列目录 Helm是kubernetes的应用包管理工具,是CNCF孵化器下的一个项目,主要用来管理 Charts.类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM.它提供了一种简单的方法来发现,分享和使用为kubernetes准备的软件包.它消除了繁杂的配置和部署,从而极大提高开发者的生效效率. 怎样来理解它呢,假设我们的项目非常复杂,同时需要部署api网关,注册中心,配置中心,web服务,数据库中间件,消息队列中间件和缓存中间件...这将会产生大量的配置文件,如果以上操行的…
系列目录 其实前面安装部分我们已经分享一些互联网上其它网友分享的一些坑,本篇介绍helm的基本使用以及在使用过程中碰到的一些坑. 客户端版本和服务端版本不一致问题 有些朋友可能在使用helm init的时候直接复制页面上的命令,这样由于客户端和服务端版本不一致造成helm无法使用,解决办法在复制helm init 阿里云网址时把网址里面的版本更新为和客户端保持一致的版本. 阿里云镜像过旧 你可能按照上一节的操作最终成功安装了helm,但是在实际工作中你可能会发现,阿里云的helm镜像仓库过旧(这…
系列目录 使用压缩包安装chart 我们使用helm package打包的时候,默认会在当前位置生成一个tgz压缩包,然后helm把它复制到到$HOME/.helm/repository目录下,现在还没有讲解helm私服搭建,使用的是helm自带的一个本地服务器,有时候这个服务器不能正常工作,但是我们又想体验功能,这时候可以使用本地chart压缩包来安装 我在当前目录下有以下文件 [centos@k8s-master helm]$ ls get_helm.sh mychart mychart-0…
系列目录 构建一个 Helm Chart 下面我们通过一个完整的示例来学习如何使用 Helm 创建.打包.分发.安装.升级及回退Kubernetes应用. 创建一个名为 mychart 的 Chart $ helm create mychart 该命令创建了一个 mychart 目录,该目录结构如下所示.这里我们主要关注目录中的 Chart.yaml.values.yaml.NOTES.txt 和 Templates 目录. [centos@k8s-master helm]$ tree mych…
系列目录 前面完整示例里,我们主要讲解helm打包,部署,升级,回退等功能,关于这里面的文件只是简单介绍,这一节我们详细介绍一下这里面的文件,以方便我们参照创建自己的helm chart. Helm Chart 结构 Chart 目录结构 mychart/ Chart.yaml # Yaml文件,用于描述Chart的基本信息,包括名称版本等 LICENSE # [可选] 协议 README.md # [可选] 当前Chart的介绍 values.yaml # Chart的默认配置文件 requi…
1. 前提条件 2. 配置https证书为secret 3. dashboard安装 3.1 helm拉取dashboard的chart 3.2 配置dashboard的chart包配置 3.3 helm执行创建dashboard的release 3.4 通过域名访问dashboard 4. 查看token并使用token登陆 5. 给dashboard的serviceaccont授权 这篇博文介绍的是安装Dashboard V2.0.3, 并将其映射到具体的域名上.先上一个成果图,如果安装过程…
helm官方建议使用tls,首先生成证书. openssl genrsa -out ca.key.pem openssl req -key ca.key.pem -new -x509 -days -sha256 -out ca.cert.pem -extensions v3_ca -batch openssl genrsa -out tiller.key.pem openssl genrsa -out helm.key.pem openssl req -key tiller.key.pem -n…
1. helm简介 1.1 为什么需要helm 1.2 helm中几个概念 1.3 helm用途 2. helm安装 3. helm的基本使用 3.1 安装chart仓库里面的chart 3.2 创建自定义的chart 3.2.1 文件目录结构 3.2.2 自定义chart的示例 3.3 helm的基本操作补充 3.3.1 查看release 3.3.2 安装release 3.3.3 更新release 3.3.4 卸载release 3.3.5 回滚release 1. helm简介 1.1…
系列目录 kubernetes dashboard是kubernetes官方提供的web管理界面,通过dashboard可以很方便地查看集群的各种资源.以及修改资源编排文件,对集群进行扩容操作,查看日志等.功能非常强大.虽然dashboard是官方提供的web管理界面,但是并没有默认安装,需要额外安装.下面将介绍如何安装kubernetes dashboard以及如何访问. dashboard安装 使用如下命令: wget https://raw.githubusercontent.com/ku…
目录 继上一篇kubernetes理论知识完结.本篇主要讲解基于nexus搭建一个docker镜像仓库(当然大家实践过程是不必完全跟着做,也可以搭建harbor仓库或者直接把镜像推送到docker hub或者阿里云公仓等),以及kubernetes dashboard在生产环境中如何给不同的角色(比如集群管理员,项目管理员,项目开发者)分配不同的权限,如何使用helm来优化持续交付流程(后期后加入kustomize工具的使用介绍).如何部署一个ocelot网关服务,如何部署一个有状态consul…
系列目录 前面一节我们介绍了如何使用kube-proxy搭建代理访问dashboard,这样做缺点非常明显,第一可以通过http访问,第二是这种方式要启动一个后台进程,如果进程关闭了则不能够访问了,还需要手动开启proxy.另外一个问题就是可能有部分读者已经遇到了,在输入token的时候,web界面无影响,笔者在本机试的时候通过firefox无响应,通过谷歌浏览器有时候无响应,有时候偶尔会有响应.下面通过使用api-server地址来访问dashboard. 创建.kube文件夹并把admin.…
系列目录 Nexus oss仓库管理平台搭建 Nexus是一款仓库管理工具,支持Npm,bower,maven,nuget,apt,yum甚至docker,helm等各种仓库,说的通俗以下,就是私服镜像仓库.并且有免费版,OSS版即为免费版,下载的时候请注意版本的选择. 下载地址 往下面滚动页面,可以看到Choose your Nexus,有osx,windows和unix版本可供选择.这里我选择的是windows版本. 下载的内容是一个压缩包,下载完成后把压缩包解压.解压后有两个文件夹,我们进…
系列目录 由于服务端设置了https访问,因此如果通过浏览器访问时会提示证书不被信任,但是仍然可以通过处理继续访问.但是在自动化环境中,都是通过命令来请求的,这样不受信任的https就会报错误,这样我们就要像docker服务器一样添加对自签证书的信任.前两部分我们分别在docker推送镜像和拉取镜像时添加了信任证书操作.但是都是基于linux的,在自动化环境中,可能有的节点是windows节点,我们这一节来看下如何在windows环境下添加自签证书信任. 我们先来看一下如果没有添加证书信任的情况…
系列目录 前面我们讲解了如何搭建nexus服务器,以及如何使用nexus搭建docker私有镜像仓库,示例中我们都是手动docker login登陆私服,然后通过命令拉取镜像然后运行容器.然而这种做法在kubernetes集群中是不可行的.第一,项目规模不同,每天产生的镜像数量也不同,如果每天产生大量仓库都要手动执行docker pull来拉取,非常麻烦也非常容易出错.第二,集群规模不同,节点数量也不同,少则三五个,多则成百上千甚至更多.我们一台台拉取显然非常麻烦,即便使用ansible脚本批量…
系列目录 上一节我们分别使用纯文本账户密码和docker的config文件一创建一个kubernetes secret对象,并且把它添加到containers的imagePullSecrets字段用以拉取私仓镜像.这一节我们讲解另一种方法:即把secret附加到default这个serviceaccount上,这样拉取镜像的时候就不需要每次都在yml文件里声明imagePullSecrets字段. 至于为什么把镜像的拉取secret附加到default这个serviceaccont上就可以实现无…
系列目录 前面我们的示例中,我们创建的ServiceAccount是与cluster-admin 绑定的,这个用户默认有最高的权限,实际生产环境中,往往需要对不同运维人员赋预不同的权限.而根据实际情况也可能会赋予开发人员只读的权限.这一节我们将介绍如何创建不同权限的用户. 在开始之前,我们先了解一些关于kubernetes RABA的一些基本概念. Role Role表示是一组规则权限,只能累加,Role可以定义在一个namespace中,只能用于授予对单个命名空间中的资源访问的权限.比如我们新…
系列目录 上一节我们讲解到了如何限制用户访问dashboard的权限,这节我们讲解一个案例:如何创建一个只读权限的用户. 虽然可以根据实际情况灵活创建各种权限用户,但是实际生产环境中往往只需要两个就行了一个是前面创建的拥有集群所有权限的用户,另一个是一个拥有只读权限的普通用户.把只读权限分配给开发人员,使得开发人员也可以很清楚地看到自己的项目运行的状况. 在进行本章节之前,大家可以思考一下怎么用前面的知识来实现,大家可能都有思路,但是要真正的实现起来也不是一简非常容易的事,可能需要进行多轮修改和…
系列目录 前面我们讲到了使用nexus搭建docker镜像仓库,操作还是有点复杂的,可能有的童鞋仅仅是想尝试kubernetes功能,并不想在搭建仓库上花费过多时间,但是又想在不同的主机之间传递镜像.其实可以通过docker save命令来实现,通过docker save把一个镜像保存为tar格式压缩文件,然后在要使用这个镜像机器上执行docker load命令来加载这个镜像. 复制文件的方式不方便对文件进行版本管理,大家为了方便测试可以这样玩玩,强烈建议生产环境中不要这么做. 通过docker…
为了便于将集群中的服务暴露到集群外部,需要使用Ingress.接下来使用Helm将Nginx Ingress部署到Kubernetes上. Nginx Ingress Controller被部署在Kubernetes的边缘节点上. 这里将master作为边缘节点,打上label [root@master /]# kubectl label node master node-role.kubernetes.io/edge= node/master labeled [root@master /]#…
1.基本概念 对于复杂的应用中间件,需要设置镜像运行的需求.环境变量,并且需要定制存储.网络等设置,最后设计和编写Deployment.Configmap.Service及Ingress等相关yaml配置文件,再提交给kubernetes进行部署.这些复杂的过程将逐步被Helm应用包管理工具实现. Helm是一个由CNCF孵化和管理的项目,用于对需要在k8s上部署复杂应用进行定义.安装和更新.Helm以Chart的方式对应用软件进行描述,可以方便地创建.版本化.共享和发布复杂的应用软件. Cha…
运维监控-Open-Falcon安装Agent实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文参考链接来自:http://book.open-falcon.org/zh/install_from_src/agent.html. 一.介绍 agent用于采集机器负载监控指标,比如cpu.idle.load.1min.disk.io.util等等,每隔60秒push给Transfer.agent与Transfer建立了长连接,数据发送速度比较快,agent提供了一个ht…
Jenkins插件安装实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 上篇博客我介绍了Jenkins是啥,以及持续集成,持续交付,持续部署的概念,那么问题来了:你知道CI和CD是啥意思吗?(如果你不清楚我问的是啥意思,建议你看一下我之前写的笔记:https://www.cnblogs.com/yinzhengjie/p/9581653.html),说白了Jenkins部署完毕,如果不安装插件的话,那它就是一个光杆司令,啥事也做不了!本篇博客主要目的介绍如何部署Jenki…
1.基本概念 此次安装的有Jenkins.Gitlab.Redmine,我公司目前使用的是独立于k8s集群之外单独部署的Jenkins等服务,此文章会介绍三种服务基于k8s的部署方式,之后集成之前部署的openLDAP实现统一认证.之后将进行简单持续集成持续部署的演示,最后再结合我公司的项目进行实战操作,应付出现的各种使用场景. 2.使用Helm安装redmine [root@k8s-master01 ci]# git clone https://github.com/dotbalo/helm.…
1.基本配置 基本配置.内核升级.基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考<再也不踩坑的Kubernetes实战指南>第一章第一节 2.Kubernetes组件安装 所有节点安装Kubeadm.Kubectl.kubelet -.x86_64 kubectl--.x86_64 kubelet--.x86_64 所有节点启动Docker [root@k8s-master01 ~]# systemctl enable -…
1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭,无需修改配置文件即可永久生效,CentOS 8默认安装的内核版本是4.18,所以在安装k8s的过程中也无需在进行内核升级,系统环境也可按需升级,如果下载的是最新版的CentOS 8,系统升级也可省略. 2. 基本环境配置 主机信息 192.168.1.19 k8s-master01 192.168…
1. Ratel是什么? Ratel是一个Kubernetes资源平台,基于管理Kubernetes的资源开发,可以管理Kubernetes的Deployment.DaemonSet.StatefulSet.Service.Ingress.Pods.Nodes.Role.ClusterRole.Rolebinding.ClusterRoleBinding.Secret.ConfigMap.PV.PVC等.主要用于以图形化的方式管理k8s的各类资源,提高维护k8s集群的效率及降低出错的概率. 2.…
Kubernetes Dashboard 是 k8s集群的一个 WEB UI管理工具,代码托管在 github 上,地址:https://github.com/kubernetes/dashboard 创建tls secret 通过https进行访问必需要使用证书和密钥,在Kubernetes中可以通过配置一个加密凭证(TLS secret)来提供. 这里只是拿来自己使用,创建一个自己签名的证书. openssl req -x509 -nodes -days 3650 -newkey rsa:2…
1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.17.x,相对于其他版本,二进制安装方式并无太大区别. 2. 基本环境配置 主机信息 192.168.1.19 k8s-master01 192.168.1.18 k8s-master02 192.168.1.20 k8s-master03 192.168.1.88 k8s-master-lb 192.168.1.21 k8s-node01 192.168.1.22 k8s-node02 系统环境 [root@k8s-m…
通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.helm的介绍和参考见:https://yq.aliyun.com/articles/159601 helm仓库地址https://github.com/helm/charts    通过阿里仓库安装kafka helm repo add incubator https://aliacs-app-cat…
1.基本概念 上节在k8s中部署了harbor和ldap,本节将部署harbor使用openLDAP验证,部署方式与之前相同,只是改了adminserver-cm.yaml的AUTH_MODE: "ldap_auth".另外harbor配置ldap登录非必须,按需. 2.部署 下载项目 git clone https://github.com/dotbalo/helm.git [root@k8s-master01 ci]# cd harbor-helm-ldap/ [root@k8s-…