helm安装mysql_helm安装配置

简介

helm是kubernetes的包管理工具,用于简化部署和管理 Kubernetes 应用。用来管理charts——预先配置好的安装包资源。

Helm和charts的主要作用:

应用程序封装

版本管理

依赖检查

便于应用程序分发

helm是一个C/S框架的软件,helm相当于一个客户端,tiller是一个服务端

Helm CLI 是 Helm 客户端,可以在本地执行

Tiller 是服务器端组件,在 Kubernetes 群集上运行,并管理 Kubernetes 应用程序的生命周期

Repository 是 Chart 仓库,Helm客户端通过HTTP协议来访问仓库中Chart的索引文件和压缩包

安装

安装之前需要先配置好kubeconfig,kubectl可以正常使用就表示kubeconfig已经配置正确,也可以通过环境变量KUBECONFIG指定helm使用的kubeconfig

安装helm

# 如下地址下载helm二进制文件

# 解压之后放在自己的PATH路径下

# https://github.com/helm/helm/releases

mkdir -pv helm && cd helm

wget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz

tar xf helm-v2.9.1-linux-amd64.tar.gz

sudo mv linux-amd64/helm /usr/local/bin

rm -rf linux-amd64

# 查看版本,不显示出server版本,因为还没有安装server

helm version

复制代码

简单安装tiller(本次实验采用)

# 部署 tiller

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 \

--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

# 查看

kubectl get pods -n kube-system -l app=helm

kubectl get svc -n kube-system -l app=helm

复制代码

安全性更高的安装tiller(tls)

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 \

--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts \

--tiller-tls \

--tiller-tls-verify \

--tiller-tls-cert=cert.pem \

--tiller-tls-key=key.pem \

--tls-ca-cert=ca.pem \

--service-account=tiller

# 其他命令都需要使用 tls

# --tls

复制代码

配置rbac

cat >helm-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

EOF

kubectl create -f helm-rbac-config.yaml

# 配置tiller使用创建的ServiceAccount

kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

复制代码

查看状态

# 查看pod启动情况

kubectl get pod -n kube-system -l app=helm

# 再次查看版本,显示出server版本

helm version

复制代码

简单使用

查看可用charts

# 更新charts列表

helm repo update

# 搜索可用charts

helm search

helm search mysql

复制代码

查看已经安装的charts

helm list

# helm ls

复制代码

安装测试

以下两种部署方式任选一种

使用命令行模式部署

# 使用命令行模式部署

helm install -n mariadb-test \

--set persistence.enabled=false,mariadbRootPassword=will,mariadbUser=will,mariadbPassword=will,mariadbDatabase=will \

stable/mariadb

复制代码

使用配置文件定制部署

# 使用配置文件方式部署

# 查看可配置项

helm inspect values stable/mariadb

# 获取所有可配置项(去行空行和注释)

helm inspect values stable/mariadb | egrep -v '^\s*#|^$'

# 配置

cat >config.yml<

usePassword: true

mariadbRootPassword: will

mariadbUser: will

mariadbPassword: will

mariadbDatabase: will

persistence:

enabled: false

EOF

# 部署

helm install -n mariadb-test -f config.yml stable/mariadb

复制代码

测试

# 查看状态

helm ls

kubectl get pods

kubectl get svc

# 连接测试

kubectl run mariadb-cli --image=bitnami/mariadb:10.1.28-r1 -i --tty bash

mysql -hmariadb-test-mariadb -uwill -pwill will

show databases;

select version();

select user();

# 删除 mariadb-cli

kubectl delete deploy mariadb-cli

# 删除部署

helm delete mariadb-test --purge

复制代码

自定义chart

创建chart

# 创建

helm create hello

# chart目录结构介绍

hello

├── charts # 本chart依赖的chart

├── Chart.yaml # 描述chart的基本信息,如名称版本等

├── templates # kubernetes manifest文件模板目录

│   ├── deployment.yaml

│   ├── _helpers.tpl

│   ├── ingress.yaml

│   ├── NOTES.txt # 纯文本文件,可在其中填写chart的使用说明

│   └── service.yaml

└── values.yaml # chart配置的默认值

# 对chart的模板和配置进行测试

helm install --dry-run --debug ./

复制代码

测试安装chart

# 安装

helm install -n hello-test ./

# 查看

helm ls

kubectl get pods

kubectl get svc

# 端口转发

export POD_NAME=$(kubectl get pods --namespace default -l "app=hello,release=hello-test" -o jsonpath="{.items[0].metadata.name}")

kubectl port-forward $POD_NAME 8080:80

# 访问

curl http://127.0.0.1:8080

# 删除

helm delete hello-test --purge

复制代码

chart分发

# 打包为压缩包

helm package ./

复制代码

参考文档

https://blog.frognew.com/2017/12/its-time-to-use-helm.html

https://jimmysong.io/posts/manage-kubernetes-native-app-with-helm/

https://yq.aliyun.com/articles/159601

https://docs.helm.sh/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

promise的三种状态_一.Promise中核心逻辑的实现

首先看一下Promise代码&#xff1a;let promise new Promise((resolve,reject)>{resolve(成功);//reject(失败); }) promise.then(val>{console.log(val); },reason>{console.log(reason); })我们根据以上的一个简单的用例&#xff0c;得到Promise类的最主要的核心逻辑…

mysql如何定位到数据_如何快速定位当前数据库消耗CPU最高的sql语句?

概述如果是Oracle数据库我们可以很容易通过sql来定位到当前数据库中哪些消耗CPU高的语句&#xff0c;而mysql数据库可以怎么定位呢&#xff1f;这里用一个简单例子说明下...主要是了解如何定位的思路&#xff0c;具体看官网介绍..参考&#xff1a;https://www.percona.com/blog…

当当elastic-job docker快速部署_[小Z课堂]-docker 快速部署 elasticsearch 和 kibana,一键部署...

各位小伙伴&#xff0c;小Z课堂来袭&#xff0c;每天只需看三分钟&#xff0c;你就能用docker 快速部署各种环境。今天就用docker 来部署 elasticsearch 和 kibana。docker的入门请上度娘学习&#xff0c;这里直接进入实战。拉镜像镜像版本&#xff1a;base image&#xff1a;U…

xtrabackup备份mysql5.7_【 xtrabackup】CentOS7.x上基于 MySQL 5.7.x的XtraBackup 安装与备份还原...

MySQL的XtraBackup 备份与恢复https://shockerli.net/post/xtrabackup-backup-recovery-mysqlPercona XtraBackup 备份原理与实践http://www.unixfbi.com/349.htmlXtraBackup备份恢复模拟实践https://blog.51cto.com/13178102/2151512Percona XtraBackup 安装介绍篇https://www…

数字有维度, 质数可追寻

摘要 用数轴的点表示数, 实际是把数的几何意义单一 化, 把所有实数同等化. 在研究素数的问题上, 应该挖掘数的 更多几何意义, 就正自然数而言, 不同区间的数, 几何意义是 不相同的, 对应的点是不同空间的点, 具有多样化的. 寻找质 数, 就是设法把不同空间的 1 维数 (质数) 找出…

局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...

一、系统分析1.1 问题描述客户端实现简易版的局域网聊天器实现富文本内容聊天智能聊天机器人群发消息传送文件等功能服务器端实现群发通知管理聊天线程1.2 系统功能分析客户端功能登陆注册发送表情消息发送文本消息截取图片图片处理震动效果发送文件群发消息设置聊天文本样式服…

北工大一拟录取女研究生在网络发不当言论,已被网友举报!

近日&#xff0c;北工大一拟录取女研究生在自己的社交平台发表不当的言论。随后&#xff0c;其言论引起网友的热议。>>>>对于网友的质疑&#xff0c;其通过微博发文称&#xff0c;要“开小号专门打拳”。当天夜里&#xff0c;有网友通过其微博的公开的考研信息&…

mysql微服务查询问题_【mysql】微服务架构下跨服务查询的聚合有什么好的方案?...

微服务架构中&#xff0c;每个服务都有自己的独立数据库。然而现在有个需求&#xff0c;需要生成一张实时的报表&#xff0c;该报表包含两个服务的数据。如服务A&#xff0c;服务B。B中仅包含A的主键id作为关联。而此报表的搜索条件包含A服务实体中的字段也包含B服务实体中的字…

mnist数据集svm python_python支持向量机分类MNIST数据集

支持向量机在高维或无限维空间中构造超平面或超平面集合&#xff0c;其可以用于分类、回归或其他任务。直观来说&#xff0c;分类边界距离最近的训练数据点越远越好&#xff0c;因为这样可以缩小分类器的泛化误差。调用sklearn.svm的svc函数&#xff0c;将MNIST数据集进行分类&…

mysql触发器可以使用正则表达式_SQL 正则表达式及mybatis中使用正则表达式

这篇文章主要介绍了SQL 正则表达式及mybatis中使用正则表达式的方法&#xff0c;非常不错&#xff0c;具有一定的参考借鉴价值,需要的朋友可以参考下mysql 提供的模式匹配的其他类型是使用扩展正则表达式。当你对这类模式进行匹配测试时&#xff0c;使用REGEXP和NOT REGEXP操作…

python代码200行左右_200行Python代码实现2048

import cursesfrom random import randrange,chiocefrom collections import defaultdictactions[Up,Left,Down,Right,Restart,Exit]letter_codes[ord(ch) for ch in WASDRQwasdrq]action_dictdict(zip(letter_codes,actions*2))def main(stdscr):def init():#重置游戏棋盘game…

python将excel导入mysql_Python将Excel数据自动导入MySQL,python,实现,excel,到,中

废话不多说&#xff0c;下面附上代码。# -*- coding: utf-8 -*-"""Created on Mon Apr 20 14:18:49 2020author: admin"""import osimport pandas as pd#import cx_Oracle as cxfrom sqlalchemy import create_engineimport pymysqlfile_name[]#…

presto java_Presto Jdbc

Presto Jdbc标签(空格分隔)&#xff1a; Presto一&#xff0c; 建立连接传统的JDBC方式类似&#xff0c;建立PrestoConnection”连接“&#xff0c;并且通过unwrap方法将connection转换为PrestoConnection。实际上是赋值一些基本信息&#xff0c;并且建立新的OkHttpClient。Str…

计算机二级java上机_计算机二级JAVA上机试题及答案

2016年9月计算机等级考试正在紧张复习中&#xff0c;为帮助大家进一步复习java&#xff0c;yjbys小编为大家带来最新java上机试题及答案如下&#xff1a;1. 基本操作(1小题&#xff0c;计30分)注意&#xff1a;下面出现的“考生文件夹”均为%USER%在考生文件夹中存有文件名为Ja…

java divide 用法_java中BigDecimal加减乘除基本用法

Java在java.math包中提供的API类BigDecimal&#xff0c;用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中&#xff0c;需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算&#xff0c;在商…

如何反映两条曲线的拟合精度_你知道850加工中心定位精度的检测有哪些吗?

你知道850加工中心定位精度的检测有哪些吗&#xff1f;定位精度在机械制造上指零件或刀具等实际位置与标准位置&#xff08;理论位置/理想位置&#xff09;之间的差距&#xff0c;其差距越小&#xff0c;说明精度越高。定位精度是零件加工精度得以保证的前提。XFL-850加工中心的…

java ee最新_从此再无 JavaEE,现在叫 JakartaEE

各位小伙伴,你们都知道这个消息吗&#xff1f;Java EE 正式改名为 Jakarta EE 了。以后小伙伴们自我介绍的时候又多了一种方式。(〃▽〃) &#xff1a;你是做什么的&#xff1f;(&#xffe3;▽&#xffe3;)~* &#xff1a;你好我是做 JakartaEE&#xff01;Σ(っД;)っ&#…

十二月份找工作好找吗_小儿推拿师工作好找吗?工资高吗?

小儿推拿师工作好找吗&#xff1f;会不会学成之后找不到工作?作为现在比较热门的一个医学类职业&#xff0c;小儿推拿师还是比较容易找工作的&#xff0c;现在基本一条街上能有不低于十家小儿推拿店&#xff0c;而这些店里面小儿推拿师只有两三个&#xff0c;后面孩子还有很多…

java 单例 读写锁_终极锁实战:单JVM锁+分布式锁

目录1.前言2.单JVM锁3.分布式锁4.总结正文分割线1.前言锁就像一把钥匙&#xff0c;需要加锁的代码就像一个房间。出现互斥操作的典型场景&#xff1a;多人同时想进同一个房间争抢这个房间的钥匙(只有一把)&#xff0c;一人抢到钥匙&#xff0c;其他人都等待这个人出来归还钥匙&…

怎么用python读取excel数据并导出_python怎样导入excel表格数据-如何使用python将大量数据导出到Excel中的小技巧...

如何用python将数据写入excel表格 #导入包 import xlrd #设置路径 pathC:\\Users\\jyjh\\Desktop\\datap.xlsx #打开文件 dataxlrd.open_workbook(path) #查询工作表 sheetsdata.sheets() sheets 可以通过函数、索引、名称获得工作表。 sheet_1_by_functiondata.sheets()[0] sh…