k8s/kubernetes常用组件helm的部署(代码片段)

loveskey loveskey     2022-12-11     124

关键词:

Helm的安装

1.Helm的基本概念
Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。 Helm有如下几个基本概念:

Chart: 是Helm管理的安装包,里面包含需要部署的安装包资源。可以把Chart比作CentOS yum使用的rpm文件。每个Chart包含下面两部分:
包的基本描述文件Chart.yaml
放在templates目录中的一个或多个Kubernetes manifest文件模板
Release:是chart的部署实例,一个chart在一个Kubernetes集群上可以有多个release,即这个chart可以被安装多次
Repository:chart的仓库,用于发布和存储chart
使用Helm可以完成以下事情:

管理Kubernetes manifest files
管理Helm安装包charts
基于chart的Kubernetes应用分发

更详细的介绍:
()[https://www.kubernetes.org.cn/3435.html]

安装

先下载 helm 二进制文件
https://github.com/kubernetes/helm/releases
2.14版下载地址: https://storage.googleapis.com/kubernetes-helm/helm-v2.14.0-linux-amd64.tar.gz
解压,可执行文件移动到/usr/local/bin/下

wget https://storage.googleapis.com/kubernetes-helm/helm-v2.14.0-linux-amd64.tar.gz
tar xvf helm-v2.14.0-linux-amd64.tar.gz
cd linux-amd64/
mv helm /usr/local/bin
cd ..
rm -rf  linux-amd64/

测试运行

[[email protected] centos]# helm  version
Client: &version.VersionSemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"
Error: could not find tiller
#提示没找到tiller

安装tiller
为了安装服务端tiller,还需要在这台机器上配置好kubectl工具和kubeconfig文件,确保kubectl工具可以在这台机器上访问apiserver且正常使用。

因为Kubernetes APIServer开启了RBAC访问控制,所以需要创建tiller使用的service account: tiller并分配合适的角色给它。 详细内容可以查看helm文档中的Role-based Access Control。 这里简单起见直接分配cluster-admin这个集群内置的ClusterRole给它。创建rbac-config.yaml文件:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
[[email protected] ~]# kubectl create -f rbac-config.yaml 
serviceaccount/tiller created
clusterrolebinding.rbac.authorization.k8s.io/tiller created

helm部署tiller:

[[email protected] centos]# helm init --service-account tiller --skip-refresh
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

查看和验证
tiller默认被部署在k8s集群中的kube-system这个namespace下:

[[email protected] ~]# kubectl get pod -n kube-system -l app=helm
NAME                             READY   STATUS    RESTARTS   AGE
tiller-deploy-598f58dd45-5q8pv   1/1     Running   0          4m23s
[[email protected] ~]# helm version
Client: &version.VersionSemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"
Server: &version.VersionSemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"

参考:
https://www.kubernetes.org.cn/3435.html
https://blog.frognew.com/2018/10/ingress-edge-node-ha-in-bare-metal-k8s-with-ipvs.html

k8s------kubernetes概述(代码片段)

目录一.Kubernetes概述1.Kubernetes概念2.为什么要用Kubernetes3.Kubernetes解决的问题4.Kubernetes的特性二.Kubernetes集群架构与组件1.核心组件①Master组件Kube-apiserverKube-controller-managerKube-scheduler②配置存储中心etcd③Node组件KubeletKube-Proxydocker或ro... 查看详情

k8s------kubernetes概述(代码片段)

目录一.Kubernetes概述1.Kubernetes概念2.为什么要用Kubernetes3.Kubernetes解决的问题4.Kubernetes的特性二.Kubernetes集群架构与组件1.核心组件①Master组件Kube-apiserverKube-controller-managerKube-scheduler②配置存储中心etcd③Node组件KubeletKube-Proxyd 查看详情

k8s------kubernetes概述(代码片段)

目录一.Kubernetes概述1.Kubernetes概念2.为什么要用Kubernetes3.Kubernetes解决的问题4.Kubernetes的特性二.Kubernetes集群架构与组件1.核心组件①Master组件Kube-apiserverKube-controller-managerKube-scheduler②配置存储中心etcd③Node组件KubeletKube-Proxyd 查看详情

helm2和helm3的安装卸载常用命令(代码片段)

...的问题**Helm3**Helm2卸载Helm2的安装部署客户端部署tillerHelm2常用命令helmlint**Helm2**到Helm3的迁移Helm3安装二进制安装配置repohelm3命令使用总结记录信息命令查看环境信息查看版本信息仓库命令查找软件新增一个仓库查看已有仓库列 查看详情

kubernetes部署高可用harbor(helm方式)

文章目录Kubernetes部署高可用harbor(helm方式)1.背景介绍1.1目标1.2先决条件1.3架构1.4组件说明2.安装helm2.1二进制文件2.2安装2.3验证2.4helm常用命令3.部署高可用PostgreSQL3.1架构3.2部署准备3.3修改values.yaml相关内容3.3.1镜像3.3.2关闭pv使用hos... 查看详情

kubernetes部署高可用harbor(helm方式)

文章目录Kubernetes部署高可用harbor(helm方式)1.背景介绍1.1目标1.2先决条件1.3架构1.4组件说明2.安装helm2.1二进制文件2.2安装2.3验证2.4helm常用命令3.部署高可用PostgreSQL3.1架构3.2部署准备3.3修改values.yaml相关内容3.3.1镜像3.3.2关闭pv使用hos... 查看详情

2.docker和k8s(kubernetes)有啥关系

参考技术A首先看看k8s[中间8个字母,数过了(逃](Kubernetes)是什么以及为啥会出现这个东西。总的来说,k8s的出现和使用容器进行部署的趋势是分不开的。总的来说,app的部署大致分为三个阶段。最传统的方式中,所有app公用一个... 查看详情

k8s------kubernetes单master集群二进制搭建(代码片段)

目录前言Kubernetes单Master节点集群二进制部署一.Kubernetes单Master集群架构二.环境准备三.Etcd集群部署1.准备签发证书环境2.生成CA证书、etcd服务器证书以及私钥3.安装Etcd4.在Master01节点启动Etcd集群节点015.将证书,命令文件,... 查看详情

kubernetes提供啥功能

Kubernetes,是开源容器应用自动化部署技术,也就是大家经常说的k8s。Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kuberne... 查看详情

这一篇k8s(kubernetes)集群部署我觉得还可以(代码片段)

...,很高兴能够成为你的朋友。国内安装K8S的四种途径Kubernetes的安装其实并不复杂,因为Kubernetes属于Google的产品,都是从Google的官方上进行下载,但是因为网络问题,在国内 查看详情

这一篇k8s(kubernetes)集群部署我觉得还可以(代码片段)

...,很高兴能够成为你的朋友。国内安装K8S的四种途径Kubernetes的安装其实并不复杂,因为Kubernetes属于Google的产品,都是从Google的官方上进行下载,但是因为网络问题,在国内 查看详情

这一篇k8s(kubernetes)集群部署我觉得还可以(代码片段)

...,很高兴能够成为你的朋友。国内安装K8S的四种途径Kubernetes的安装其实并不复杂,因为Kubernetes属于Google的产品,都是从Google的官方上进行下载,但是因为网络问题,在国内 查看详情

这一篇k8s(kubernetes)集群部署我觉得还可以(代码片段)

...,很高兴能够成为你的朋友。国内安装K8S的四种途径Kubernetes的安装其实并不复杂,因为Kubernetes属于Google的产品,都是从Google的官方上进行下载,但是因为网络问题,在国内 查看详情

helm常用用法和遇到的一些问题

参考技术Ahelminstall命令可以从多个来源安装:命令:有用参数:--namerelease的名字--namespacerelease的命名空间-dry-run模拟一次安装,常和--debug一起使用,调试chart模板是否正常--no-hooks在安装过程中不使用hooks--values使用YAML文件中指定... 查看详情

2021-10-这一篇k8s(kubernetes)我觉得可以了解一下!!!28

参考技术AKubernetes是Google开源的分布式容器管理平台,是为了更方便的在服务器中管理我们的容器化应用。Kubernetes简称K8S,为什么会有这个称号?因为K和S是Kubernetes首字母和尾字母,而K和S中间有八个字母,所以简称K8S,加上Kube... 查看详情

k8s------kubernetes双master负载均衡集群搭建(代码片段)

....解压Dashboard压缩包4.通过ubectlcreate命令创建resources①规定kubernetes-dashboard-minimal该角色的权限②证书和密钥创建③配置文件,对于集群dashboard设置的创建④创建容器需要的控制器以及服务账户⑤将服务提供出去5.访问5.执行脚... 查看详情

helm安装使用(代码片段)

目录Helm安装使用用途重要概念Helm组件安装使用Helm安装使用Helm这个东西其实早有耳闻,但是一直没有用在生产环境,而且现在对这货的评价也是褒贬不一。正好最近需要再次部署一套测试环境,对于单体服务,部... 查看详情

k8s中helm的使用(代码片段)

什么是Helm在没使用helm之前,向kubernetes部署应用,我们要依次部署deployment、svc等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm通过打包的方式,支持发布的版本管理和控制,... 查看详情