Kubernetes部署(十一):管理之Helm和Rancher部署 精选 原创 李永峰Billy 2019-01-03 18:00:41 博主文章分类:kubernetes ©著作权 文章标签 kubernets helm rancher k8s docker 文章分类 Docker 云计算 ©著作权归作者所有:来自51CTO博客作者李永峰Billy的原创作品,如需转载,请与作者联系,否则将追究法律责任 相关内容: Kubernetes部署(一):架构及功能说明 Kubernetes部署(二):系统环境初始化 Kubernetes部署(三):CA证书制作 Kubernetes部署(四):ETCD集群部署 Kubernetes部署(五):Haproxy、Keppalived部署 Kubernetes部署(六):Master节点部署 Kubernetes部署(七):Node节点部署 Kubernetes部署(八):Flannel网络部署 Kubernetes部署(九):CoreDNS、Dashboard、Ingress部署 Kubernetes部署(十):储存之glusterfs和heketi部署 Kubernetes部署(十一):管理之Helm和Rancher部署 Kubernetes部署(十二):helm部署harbor企业级镜像仓库 Helm部署 helm官方下载地址:https://github.com/helm/helm/releases 官方可用的chart列表:https://hub.kubeapps.com 所有的软件及配置文件都保存在前面文章提到的百度网盘里 :百度共享链接在此文章里 helm简介 Helm是一种简化Kubernetes应用程序安装和管理的工具。可以把它想象成apt/yum/homebrew。 Helm有两部分:client(helm)和server(tiller) ,Tiller在您的Kubernetes集群内部运行,并管理chart的发布(安装)。 Helm可在您的笔记本电脑,或在任何位置运行。 chart是包含至少两件事的Helm包: 包的描述(Chart.yaml) 一个或多个模板,包含Kubernetes清单文件 chart可以存储在磁盘上,也可以从远程chart存储库(如Debian或RedHat包)中获取. 核心术语 Chart:一个helm程序包; Repository:Charts仓库,https/http服务器; Release:特定的Chart部署于目标集群上的一个实例; 程序架构 helm:客户端,管理本地的Chart仓库,管理Chart, 与Tiller服务器交互,发送Chart,实例安装、查询、卸载等 操作; Tiller:服务端,接收helm发来的Charts与Config,合并生成relase; helm部署 helm可以部署在任何机器上,不一定要在kubernetes的服务器上,但是需要安装kubectl,也就是说用户家目录下要有kube的配置文件,因为helm需要和apiServer通信。 [root@node-01 ~]# ll .kube/ total 12 drwxr-xr-x 3 root root 23 Dec 25 11:28 cache -rw------- 1 root root 6264 Dec 25 16:15 config drwxr-xr-x 3 root root 4096 Jan 2 15:09 http-cache 开始部署 [root@node-01 k8s]# wget https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-linux-amd64.tar.gz [root@node-01 k8s]# tar zxf helm-v2.12.1-linux-amd64.tar.gz [root@node-01 k8s]# cd linux-amd64/ [root@node-01 linux-amd64]# mv helm /usr/bin/ 因某些原因我们无法直接从google下载tiller镜像,所以需要下载我网盘共享的镜像tiller-image-v2.12.1.tar.gz,然后在每个node节点加载镜像 [root@node-04 ~]# docker load < tiller-image-v2.12.1.tar.gz apiVersion: v1 kind: ServiceAccount metadata: name: tiller namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: tiller roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: tiller namespace: kube-system [root@node-01 helm]# kubectl create -f rbac-config.yaml [root@node-01 helm]# helm init --service-account tiller Creating /root/.helm Creating /root/.helm/repository Creating /root/.helm/repository/cache Creating /root/.helm/repository/local Creating /root/.helm/plugins Creating /root/.helm/starters Creating /root/.helm/cache/archive Creating /root/.helm/repository/repositories.yaml Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com Adding local repo with URL: http://127.0.0.1:8879/charts $HELM_HOME has been configured at /root/.helm. Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster. Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy. To prevent this, run `helm init` with the --tiller-tls-verify flag. For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation Happy Helming! [root@node-01 helm]# kubectl -n kube-system get pod|grep tiller tiller-deploy-85744d9bfb-cm5jz 1/1 Running 0 11m [root@node-01 helm]# helm version Client: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"} helm常用命令: release管理: install delete upgrade/rollback list history:release的历史信息; status:获取release状态信息; chart管理: create fetch get inspect package verify 至此helm就已经部署完了,下面会通过helm安装k8s的管理平台,也顺便演示helm的使用。 Rancher部署 rancher简介 Rancher是一个企业级多集群Kubernetes管理平台; 用户可以在Rancher上配置和管理公有云(如GKE、EKS、AKS、阿里云、华为云等)上托管的Kubernetes服务,亦可向Rancher中导入已有集群。 对于所有Kubernetes集群与服务,用户均可以在Rancher上进行集中身份认证(包括GitHub、AD/LDAP、SAML等)。 添加chart仓库 helm官方仓库没有rancher的chart包,所以我们需要添加rancher官方chart仓库。 [root@node-01 helm]# helm repo add rancher-stable https://releases.rancher.com/server-charts/stable "rancher-stable" has been added to your repositories [root@node-01 helm]# helm search rancher-stable/rancher NAME CHART VERSION APP VERSION DESCRIPTION rancher-stable/rancher 2018.12.4 v2.1.4 Install Rancher Server to manage Kubernetes clusters acro... 安装cert-manager 安装成功后会详细显示安装的所有资源 [root@node-01 helm]# helm install stable/cert-manager --name cert-manager --namespace kube-system NAME: cert-manager LAST DEPLOYED: Thu Jan 3 15:35:22 2019 NAMESPACE: kube-system STATUS: DEPLOYED RESOURCES: ==> v1/ServiceAccount NAME SECRETS AGE cert-manager 1 1s ==> v1beta1/ClusterRole NAME AGE cert-manager 1s ==> v1beta1/ClusterRoleBinding NAME AGE cert-manager 1s ==> v1beta1/Deployment NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE cert-manager 1 1 1 0 1s ==> v1/Pod(related) NAME READY STATUS RESTARTS AGE cert-manager-7d4bfc44ff-5flvg 0/1 ContainerCreating 0 0s NOTES: cert-manager has been deployed successfully! In order to begin issuing certificates, you will need to set up a ClusterIssuer or Issuer resource (for example, by creating a 'letsencrypt-staging' issuer). More information on the different types of issuers and how to configure them can be found in our documentation: https://cert-manager.readthedocs.io/en/latest/reference/issuers.html For information on how to configure cert-manager to automatically provision Certificates for Ingress resources, take a look at the `ingress-shim` documentation: https://cert-manager.readthedocs.io/en/latest/reference/ingress-shim.html [root@node-01 helm]# 安装rancher server [root@node-01 helm]# helm install rancher-stable/rancher --name rancher --namespace cattle-system --set hostname=rancher.cnlinux.club 默认情况下,Rancher会自动生成CA根证书并使用cert-manager颁发证书,因此,这里设置了 hostname=rancher.cnlinux.club,后续只能通过域名访问UI 为Agent Pod添加主机别名(可选) 如果你没有内部DNS服务器而是通过添加/etc/hosts主机别名的方式指定的Rancher server域名,那么不管通过哪种方式(自定义、导入、Host驱动等)创建K8S集群,K8S集群运行起来之后,因为cattle-cluster-agent Pod和cattle-node-agent无法通过DNS记录找到Rancher server,最终导致无法通信。 可以通过给cattle-cluster-agent Pod和cattle-node-agent添加主机别名(/etc/hosts),让其可以正常通信(前提是IP地址可以互通)。 注意:替换以下命令中的域名和IP cattle-cluster-agent pod [root@node-01 helm]# kubectl -n cattle-system patch deployments cattle-cluster-agent --patch '{ "spec": { "template": { "spec": { "hostAliases": [ { "hostnames": [ "rancher.cnlinux.club" ], "ip": "10.31.90.200" } ] } } } }' cattle-node-agent pod [root@node-01 helm]# kubectl -n cattle-system patch daemonsets cattle-node-agent --patch '{ "spec": { "template": { "spec": { "hostAliases": [ { "hostnames": [ "rancher.cnlinux.club" ], "ip": "10.31.90.200" } ] } } } }' 访问rancher 通过浏览器访问https://rancher.cnlinux.club/,出现如下页面,然后设置密码 然后就可以出现如下界面,就证明已经正常运行了 3.至此就可以通过rancher来管理pod、ingress、service等资源了。 rancher也创建新的k8s集群,如果管理其他现有的k8s集群,可以选择如下图的导入 后续会陆续更新所有的k8s相关文档,如果你觉得我写的不错,希望大家多多关注点赞,非常感谢! 赞 收藏 评论 分享 举报 上一篇:Kubernetes部署(十):储存之glusterfs和heketi部署 下一篇:Kubernetes部署(十二):helm部署harbor企业级镜像仓库 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 docker方式安装Rancher 2.6.9 一、说明公司当前有一个用TKE搭建的K8s集群,目前遇到的问题:目前TKE已经基本不更新了公司内K8s集群所承载了所有项目的测试环境,目前资源已经无法满足一台节点坏跟现网集群环境不一致,现网是每个项目一个集群针对上面的问题,经过内部沟通,决定在公司内重新搭建一套多集群K8s环境,为了便于管理,最终选择用Rancher来管理这个多集群的环境,为了解及测试Rancher,前期先用6台虚拟机搭建模拟环境 ubuntu docker k8s Helm概述,安装,部署,chart模板使用 Helm概述Helm是一个用于管理Kubernetes应用程序的工具,它提供了一个简单而有效的方式来定义、安装和部署应用程序。Helm通过使用可重复使用的模板(称为Charts)来描述应用程序的Kubernetes资源,并提供了一个命令行界面来管理这些Charts。Helm的核心概念包括:Chart:Chart是Helm的基本单元,它是一个预定义的目录结构,包含了一组Kubernetes资源的模板 应用程序 配置参数 二进制文件 使用helm在kubernetes集群上部署skywalking 环境信息Skywalking server version:9.2.0Skywalking UI version: 9.2.0Kubernetes version: 1.22.10Chart version: 4.3.0Elasticsearch version: 6.8.6部署步骤环境准备创建命名空间# kubectl create ns devops下载chart包并解压# wget htt skywalking elasticsearch helm skywalking-ui Helm Deploy Online Rancher Demo Rancher是一个开源的企业级全栈化容器部署及管理平台。已有超过 1900 万次下载,4000+ 生产环境的应用。简单的说,就。 rancher kubernetes 容器 云原生 docker Helm & Kubernetes Offline Deploy Rancher v2.7.5 Demo (helm 离线部署 rancher 实践) Rancher是一个开源的企业级全栈化容器部署及管理平台。已有超过 1900 万次下载,4000+ 生产环境的应用。 kubernetes rancher 容器 云原生 SSL helm upgrade rancher server from v2.7.5 to v2.7.8 in kubernetes【helm 升级 rancher 】 注意:如果你是在vcenter 的虚拟机测试该应用,记得给当前版本做好快照,便于反复练习。通过user demo 登陆界面创建的 po rancher kubernetes 云原生 容器 2d rancher docker安装 的helm在哪 # Rancher Docker安装的Helm在哪作为一名经验丰富的开发者,我将为你指导如何实现"Rancher Docker安装的Helm在哪"。以下是整个过程的详细步骤:| 步骤 | 操作 || --- | --- || 1 | 确保已安装Docker和Rancher || 2 | 安装Helm || 3 | 配置Helm || 4 | 使用Helm进行应用程序部署 |# 应用程序 Docker 命名空间 helm rancher 忘记密码非docker # 使用 Helm Rancher 重置忘记密码(非 Docker)## 简介在使用 Helm Rancher 部署 Rancher 管理平台时,如果忘记了管理员密码,可以通过重置密码的方式来恢复访问权限。本文将指导你如何在非 Docker 环境下使用 Helm Rancher 重置忘记的密码。## 整体流程下面是整个流程的步骤概览:| 步骤 | 操作 || --- | --- 重启 服务器 重置 利用Helm部署高可用rancher集群 利用Helm部署高可用rancher集群 Rancher HA、Helm Rancher入门到精通-2.0 helm 安装 rancher-server 已有签名 helm search rancherhelm install rancher-stable/rancher \ --name rancher \ --namespace cattle-system \ --set hostname=rancher.wostore.cn \ --set ingress.tls.source=secret \ --set privateC... k8s 使用helm部署rancher2.x版本 配置说明:rancher默认提供了三种SSL的配置Rancher 生成的 TLS 证书:要求你在集群中安装 cert-manager。Rancher 使用 cert-manager 签发并维护证书。Rancher 会生成自己的 CA 证书,并使用该 CA 签署证书。然后 cert-manager负责管理该证书。Let's Encrypt:Let's Encrypt 选项也需要使用 cert-man rancher rancher2.0 helm 四、kubernetes实践:rancher-ha-安装配置Helm 注意helm使用需要kubectl,点击了解安装和配置kubectl。Helm是Kubernetes首选的包管理工具。Helmcharts为KubernetesYAML清单文档提供模板语法。使用Helm,我们可以创建可配置的部署,而不仅仅是使用静态文件。有关创建自己的charts的更多信息,请查看https://helm.sh/文档。Helm有两个部分:Helm客户端(helm)和Helm服务端( rancher k8s kubernetes helm rke2 Online Deploy Rancher v2.8.0 latest (helm 在线部署 rancher v2.8.0) Rancher是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。Rancher 可以创建来自 Kuberne rancher rke2 kubernetes 云原生 容器 rke2 Offline Deploy Rancher v2.8.0 latest (helm 离线部署 rancher v2.8.0) 在RKE集群中,Rancher服务器数据存储在etcd上。这个etcd数据库在所有三个节点上运行。etcd数据库需要奇数多数。 rancher kubernetes 容器 云原生 linux helm 部署redis helm 部署rancher 参考https://www.cnrancher.com/docs/rancher/v2.x/cn/installation/ha-install/注意helm使用需要kubectl,点击了解安装和配置kubectl。Helm是Kubernetes首选的包管理工具。Helmcharts为Kubernetes YAML清单文档提供模板语法。使用Helm,我们可以创建可配置的部署,而不仅仅是使用静态文件 helm 部署redis 命名空间 linux 客户端 helm安装rancher mysql helm安装jenkins 一、首先需要一个k8s环境,你可以使用kubeadm或者二进制部署。(注意:这里使用的kubeadm部署k8s集群)二、安装helm工具:K8S集群最好保持时间同步:[root@master ~]# yum -y insatll ntp &> /dev/null以下操作需要机器访问外网[root@master ~]# wget https://get.helm.sh/helm-v3. helm安装rancher mysql nginx linux Group rancher Helm 仓库 registry helm 私有仓库 目录一、概述二、Helm 架构三、Helm 安装四、Helm 组件及相关术语五、Helm Chart 详解1)Chart 目录结构2)Chart.yaml 文件3)Chart 依赖管理(dependencies)4)通过依赖导入子Value六、Templates and Values1)Templates and Values 简介2)预定义的 Values3)范围,依赖和值4)全局Values七 字段 bc ci helm 安装zookeeper集群 helm安装rancher 一、首先确保k3s已经安装完成这里就不讲k3s安装了,可以点击查看上一篇k3s在线安装二、环境准备 1.先确保安装了 kubectl 命令工具 2.先确保安装了Helm 命令工具,如未安装点击查看安装方法三、添加 Helm Chart 仓库helm repo add rancher-stable https://releases.rancher.com/server-charts/stable上面 helm 安装zookeeper集群 rancker k3s DNS 配置文件 rancher docker安装 的helm在哪 rancher docker集群 1.安装docker并配置工作目录安装docker以17.03版本为例[root@Ieat4 ~]# curl https://releases.rancher.com/install-docker/17.03.sh | sh测试安装是否成功[root@Ieat4 ~]# sudo docker psCONTAINER ID IMAGE COMMAND CREA 运维 大数据 数据库 docker 文件系统 rancher 部署 mysql rancher 部署自定义helm 一、Helm概述(转载)Helm 是一个 Kubernetes 的包管理工具,类似 Linux 的包管理器,如RedHat系的yum、Debian的apt,可以很方便的将之前打包好的 yaml 文件部署到 Kubernetes 上。Helm主要解决以下问题: 1、实现yaml的高效复用。 2、实现应用级别的版本管理。 3、创建新的helm chart 4、chart打包成可发布的tgz包 5、上传 rancher 部署 mysql kubernetes docker nginx mysql