- 修改后成这样【我这使用的是v3.2.1】
改成这样以后呢,就表示,使用这个版本
#1:指定当前版本
checkDesiredVersion() {
TAG=v3.2.1
}
#2:get文件和sha256文件需要在同一路径哈
downloadFile() {
HELM_DIST=“helm- T A G − TAG- TAG−OS-$ARCH.tar.gz”
DOWNLOAD_URL=“https://get.helm.sh/$HELM_DIST”
CHECKSUM_URL=“$DOWNLOAD_URL.sha256”
HELM_TMP_ROOT=“$(mktemp -dt helm-installer-XXXXXX)”
HELM_TMP_FILE=“ H E L M T M P R O O T / HELM_TMP_ROOT/ HELMTMPROOT/HELM_DIST”
HELM_SUM_FILE=“ H E L M T M P R O O T / HELM_TMP_ROOT/ HELMTMPROOT/HELM_DIST.sha256”
echo “Downloading $DOWNLOAD_URL”
cp helm-v3.2.1* $HELM_TMP_ROOT
}
#3: 不让判断文件是否存在。
verifyChecksum() {
printf "Verifying checksum… "
local sum=$(openssl sha1 -sha256 ${HELM_TMP_FILE} | awk ‘{print $2}’)
local expected_sum=$(cat ${HELM_SUM_FILE})
echo “Done.”
}
- 上面3项修改完毕以后呢,保存退出,并给x权限,然后执行该脚本
[root@master helm]# chmod +x get
[root@master helm]# ./get
Downloading https://get.helm.sh/helm-v3.2.1-linux-amd64.tar.gz
Verifying checksum… Done.
Preparing to install helm into /usr/local/bin
helm installed into /usr/local/bin/helm
[root@master helm]#
- 上面呢helm就装完了【此时是不能使用tab的】
我们查看下版本,能出现版本内容就算安装成功
[root@master helm]# helm version
version.BuildInfo{Version:“v3.2.1”, GitCommit:“fe51cd1e31e6a202cba7dead9552a6d418ded79a”, GitTreeState:“clean”, GoVersion:“go1.13.10”}
[root@master helm]#
- 上面安装的时候有提示将helm安装到这个路径
所以我们卸载呢就是删除掉该路径内容即可
helm installed into /usr/local/bin/helm
- 方式1
前面我们的kubectl也是使用的 这种方式
[root@master helm]# cat /etc/profile | head -n 4
/etc/profile
source <(kubectl completion bash)
source <(helm completion bash) # 增加改行内容
[root@master helm]#
[root@master helm]# source /etc/profile
[root@master helm]#
[root@master helm]# hel
helm help
[root@master helm]# helm version
version.BuildInfo{Version:“v3.2.1”, GitCommit:“fe51cd1e31e6a202cba7dead9552a6d418ded79a”, GitTreeState:“clean”, GoVersion:“go1.13.10”}
[root@master helm]#
- 方式2
上面做了就不能再用这个方式了。知道就行
[root@vms10 ~]# helm completion bash > ~/.helmrc
[root@vms10 ~]# echo “source ~/.helmrc” >> ~/.bashrc
[root@vms10 ~]#
[root@vms10 ~]# source .bashrc
[root@vms10 ~]#
=======================================================================
- 因为这个玩意需要外网才能使用,而我的集群是没有外网的,所以下面只放文档,不做实验,这个其实不难,如果下面理解有难度,可以自行百度查阅困惑内容的相关资料。
- 查看现在使用的仓库:
[root@vms10 ~]# helm repo list
Error: no repositories to show
[root@vms10 ~]#
-
国内常用的仓库有:
-
阿里云的源
https://apphub.aliyuncs.com
【建议用这个】 -
微软azure 的源
http://mirror.azure.cn/kubernetes/charts/
-
添加仓库的语法:
helm repo add 名称地址
- 下面把阿里云的源和azure 的源都添加过来:
[root@vms10 ~]# helm repo add azure http://mirror.azure.cn/kubernetes/charts/
“azure” has been added to your repositories
[root@vms10 ~]#
- 这里是吧zaure 的源添加过来,命名为azure
[root@vms10 ~]# helm repo add ali https://apphub.aliyuncs.com
“ali” has been added to your repositories
[root@vms10 ~]#
- 这里是把阿里云的源添加过来,命名为ali
查看现在正在使用的源:
[root@vms10 ~]# helm repo list
NAME URL
azure http://mirror.azure.cn/kubernetes/charts/
ali https://apphub.aliyuncs.com
[root@vms10 ~]#
查询应用对应的chart
- 如果我们要部署哪个应用就到仓库里查询这个应用对应的chart,假设我要部署redis
[root@vms10 ~]# mkdir helm
[root@vms10 ~]# cd helm/
[root@vms10 ~]#
[root@vms10 helm]# helm search repo redis
NAME CHART VERSION APP VERSION
DESCRIPTION
ali/prometheus-redis-exporter 3.2.2 1.3.4 Prometheus exporter
for Redis metrics
ali/redis 10.5.3 5.0.7 Open source,
…
azure/redis 10.5.7 5.0.7 DEPRECATED
[root@vms10 helm]#
部署MySQL为例
- 下面开始部署MySQL
切换到ns5 命名空间进行操作
[root@vms10 helm]# kubectl create ns ns5
namespace/ns5 created
[root@vms10 helm]# kubens ns5
Context “kubernetes-admin@kubernetes” modified.
Active namespace is “ns5”.
[root@vms10 helm]#
- 下面开始部署MySQL
通过helm pull
单独把chart 下载下来,如下:
[root@vms10 helm]# helm pull azure/mysql
[root@vms10 helm]# ls
mysql-1.6.4.tgz
[root@vms10 helm]#
-
解压并进入到MySQL 目录,会有这么几个文件:
-
Chart.yaml
是chart 的描述信息 -
README.md
是此chart 的帮助信息 -
templates
目录里是各种模板,比如定义svc,定义pvc 等 -
values.yaml
里记录的是chart 的各种信息,比如镜像是什么,root 密码是什么,是否使用持久性存储等
[root@vms10 helm]# cd mysql/
[root@vms10 mysql]# ls
Chart.yaml README.md templates values.yaml
[root@vms10 mysql]#
- 编辑values.yaml 并按照如下修改
指定自己要使用的镜像,按如下修改【其实就是些创建pod规则,有很多内容,不需要的选项可以注释掉,具体哪些不需要,不同应用有不同的规则。】
- 指定MySQL 的root 密码,注意这里前面不能留有空格:
- 如果要创建普通用户和密码,就修改如下两行,这里我们没有指定
- 是否要使用持久性存储,如果不使用的话就把enabled 的值改成false:
注意:可以用vim 编辑器搜索persistence。
- 关于values.yaml 的其他部分保持默认值即可,保存退出
安装&删除mysql
- 安装应用的命令为
helm install
名字chart 目录
在当前目录里执行安装操作:
[root@vms10 mysql]# helm install db . #最后的点,表示当前目录
NAME: db
LAST DEPLOYED: Tue Jun 9 13:05:58 2020
NAMESPACE: ns5
STATUS: deployed
…大量输出…
Execute the following command to route the connection:
kubectl port-forward svc/db-mysql 3306
mysql -h M Y S Q L H O S T − P {MYSQL_HOST} -P MYSQLHOST−P{MYSQL_PORT} -u root -p${MYSQL_ROOT_PASSWORD}
[root@vms10 mysql]#
- 查看现在已经部署的release 及pod
[root@vms10 mysql]# helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
db ns5 1 2020-06-0…T deployed mysql-1.6.4 5.7.30
[root@vms10 mysql]#
[root@vms10 mysql]# kubectl get pods
NAME READY STATUS RESTARTS AGE
db-mysql-84f68ddfdc-m6xgq 1/1 Running 0 92s
[root@vms10 mysql]#
- 安装mariadb 客户端:
[root@vms10 mysql]# yum install mariadb -y
…输出…
作为依赖被升级:
mariadb-libs.x86_64 1:5.5.65-1.el7
完毕!
[root@vms10 mysql]#
- 查看mysql pod 的IP:
[root@vms10 mysql]# kubectl get pods -o wide --no-headers
db-mysql-84f68ddfdc-m6xgq 1/1 Running 0 3m18s 10.244.14.41 …
[root@vms10 mysql]#
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
JVM面试专题
Java并发面试专题
Kafka面试专题
MongDB面试专题
MyBatis面试专题
MySQL面试专题
Netty面试专题
RabbitMQ面试专题
Redis面试专题
Spring Cloud面试专题
SpringBoot面试专题
zookeeper面试专题
常见面试算法题汇总专题
计算机网络基础专题
设计模式专题
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
(img-K9yU0FeF-1712464251459)]
SpringBoot面试专题
[外链图片转存中…(img-Q1Iub2cf-1712464251459)]
zookeeper面试专题
[外链图片转存中…(img-rLtk9egf-1712464251459)]
常见面试算法题汇总专题
[外链图片转存中…(img-fmjucAv3-1712464251460)]
计算机网络基础专题
[外链图片转存中…(img-ImJj4erw-1712464251460)]
设计模式专题
[外链图片转存中…(img-ehbcz4Da-1712464251460)]
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算