一、安装helm和chartmuseum仓库部署
在k8s集群中创建chartmuseum命名空间,编写yaml文件部署ChartMuseum服务。
使用提供的helm软件包(软件包为helm-v3.3.0-linux-amd64.tar.gz),在kcloud集群中安装helm服务。
在k8s集群中创建chartmuseum命名空间,编写yaml文件在chartmuseum命名空间中使用chartmuseum:latest镜像创建本地私有chart仓库,设置其仓库存储目录为宿主机的/data/charts目录。编写yaml文件,为chart私有仓库创建Service访问策略,定义其为ClusterIP访问模式。编写完成后启动chartmuseum服务。
helm-v3.3.0-linux-amd64.tar.gz文件下载
创建命名空间:
然后进入之前创的集群节点的主机里
创建一个yaml文件
vi chartmuseum.yaml
输入以下内容:(此处如果要复制,建议手动分开复制,或者手动框选复制,不要用这里的一键复制按钮)
apiVersion: v1
kind: Pod
metadata:
name: chartmuseum
namespace: chartmuseum
labels:
app: chartmuseum
spec:
containers:
- image: chartmuseum/chartmuseum:latest
name: chartmuseum
ports:
- containerPort: 8080
protocol: TCP
env:
- name: DEBUG
value: "1"
- name: STORAGE
value: local
- name: STORAGE_LOCAL_ROOTDIR
value: /charts
volumeMounts:
- name: chartspath
mountPath: /charts
volumes:
- name: chartspath
hostPath:
path: /data/charts
---
apiVersion: v1
kind: Service
metadata:
name: chartmuseum
namespace: chartmuseum
labels:
app: chartmuseum
spec:
selector:
app: chartmuseum
type: ClusterIP
ports:
- port: 8080
protocol: TCP
targetPort: 8080
然后应用此配置文件
kubectl apply -f chartmuseum.yaml
应用成功之后可以查看一下pod是否存在
kubectl -n chartmuseum get all
不出意外的话是以下这样:
[root@kcloud-server ~]# kubectl -n chartmuseum get all
NAME READY STATUS RESTARTS AGE
pod/chartmuseum 1/1 Running 0 47s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/chartmuseum ClusterIP 10.247.163.127 <none> 8080/TCP 39m
然后安装helm服务
上传软件包到服务器
解压软件包
tar -zxvf helm-v3.3.0-linux-amd64.tar.gz
解压后会生成一个名为 linux-amd64
的目录,里面包含了 Helm 的二进制文件
将解压后的 helm
二进制文件移动到系统的可执行路径中,例如 /usr/local/bin
mv linux-amd64/helm /usr/local/bin/
验证是否安装成功:
helm version
如果输出显示 Helm 的版本信息,说明安装成功。例如:
version.BuildInfo{Version:"v3.3.0", GitCommit:"8a4aeec08d67a7b84472007529e8097ec3742105", GitTreeState:"dirty", GoVersion:"go1.14.7"}
Helm 会自动使用 kubectl
的配置来与 Kubernetes 集群进行交互。因此,确保你的 kubectl
已经正确配置了集群的 kubeconfig
文件。你可以通过以下命令验证:
helm list -A
然后两个都搞好之后,使用命令验证服务是否正常运行
curl 10.247.163.127:8080 #上面kubectl -n chartmuseum get all查询到的service的IP
如果服务正常运行,你应该会看到一些响应信息,例如一些 HTML 内容或者 JSON 格式的信息
二、WordPress应用部署
根据提供的chart包wordpress-13.0.23.tgz部署wordpress服务,根据chart包中内容创建wordpress所需要的pv,并修改其访问模式为NodePort。使用修改后的chart包创建wordpress服务
这里暂时出现点问题没写出来,先空着,等哪天能写出来了补上