ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kubernetes中挂载glusterfs并使用

2019-04-13 15:55:14  阅读:403  来源: 互联网

标签:gcgj name kubernetes kubectl glusterfs portal 挂载 metadata


一、所有k8s节点安装glusterfs客户端

安装客户端

yum install -y glusterfs glusterfs-fuse

在hosts中加入所有gluster的节点

vim /etc/hosts
172.19.12.193  gluster-manager
172.19.12.194  gluster-node1
172.19.12.195  gluster-node2

二、在kubernetes主节点部署

新建名称空间

vim portal-ns1.yaml
piVersion: v1
kind: Namespace
metadata:
  name: gcgj-portal

新建endpoints

cd /opt/glusterfs
curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/master/examples/volumes/glusterfs/glusterfs-endpoints.json
vim glusterfs-endpoints.json
{
  "kind": "Endpoints",
  "apiVersion": "v1",
  "metadata": {
	"name": "glusterfs-cluster",
	"namespace": "gcgj-portal"	#如果后面要调用的pod有ns则一定要写ns
  },
  "subsets": [
	{
	  "addresses": [
		{
		  "ip": "172.19.12.193"
		}
	  ],
	  "ports": [
		{
		  "port": 1990	#这个端口自己随便写
		}
	  ]
	}
  ]
}

kubectl apply -f glusterfs-endpoints.json
kubectl get ep

新建服务

curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/master/examples/volumes/glusterfs/glusterfs-service.json
vim glusterfs-service.json
{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
	"name": "glusterfs-cluster",
	"namespace": "gcgj-portal"
  },
  "spec": {
	"ports": [
	  {"port": 1990}
	]
  }
}

kubectl apply -f glusterfs-service.json
kubectl get svc

新建glusterfs的pod

curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/master/examples/volumes/glusterfs/glusterfs-pod.json
vim glusterfs-pod.json
{
	"apiVersion": "v1",
	"kind": "Pod",
	"metadata": {
		"name": "glusterfs",
		"namespace": "gcgj-portal"
	},
	"spec": {
		"containers": [
			{
				"name": "glusterfs",
				"image": "nginx",
				"volumeMounts": [
					{
						"mountPath": "/mnt/glusterfs",	#自定义本地挂载glusterfs的目录
						"name": "glusterfsvol"
					}
				]
			}
		],
		"volumes": [
			{
				"name": "glusterfsvol",
				"glusterfs": {
					"endpoints": "glusterfs-cluster",
					"path": "models",
					"readOnly": true
				}
			}
		]
	}
}


kubectl apply -f glusterfs-pod.json
kubectl get pods

创建pv

vim glusterfs-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: gluster-dev-volume
spec:
  capacity:
	storage: 8Gi	#pv申请的容量大小
  accessModes:
	- ReadWriteMany
  glusterfs:
	endpoints: "glusterfs-cluster"
	path: "models"
	readOnly: false

kubectl apply -f glusterfs-pv.yaml
kubectl get pv

创建pvc

vim glusterfs-pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: glusterfs-gcgj
  namespace: gcgj-portal
spec:
  accessModes:
	- ReadWriteMany
  resources:
	requests:
	  storage: 8Gi

kubectl apply -f glusterfs-pvc.yaml
kubectl get pvc

新建应用,测试能否正常挂载

cd /opt/kube-gcgj/portal-test
vim portal-rc1.yaml
apiVersion: v1
kind: ReplicationController
metadata:
  name: gcgj-portal
  namespace: gcgj-portal
spec:
  replicas: 1
  selector:
	app: portal
  template:
	metadata:
	  labels:
		app: portal
	spec:
	  containers:
	  - image: 172.19.2.139/gcgj/portal:latest
		name: portal
		resources:
		  limits:
			cpu: "1"
			memory: 2Gi
		ports:
		- containerPort: 8080
		volumeMounts:
		- mountPath: /usr/local/tomcat/logs		#需要挂载的目录
		  name: gcgj-portal-log			#这里的名字和下面的volumes的name要一致
	  volumes:
	  - name: gcgj-portal-log
		persistentVolumeClaim:
		  claimName: glusterfs-gcgj		#这里为pvc的名字

vim portal-svc1.yaml
apiVersion: v1
kind: Service
metadata:
  name: gcgj-portal
  namespace: gcgj-portal
spec:
  ports:
  - name: portal-svc
	port: 8080
	targetPort: 8080
	nodePort: 30082
  selector:
	app: portal
  type: NodePort

kubectl create -f /opt/kube-gcgj/portal-test

应用启动后到gluster集群对应的目录中查看是否有新日志生成


标签:gcgj,name,kubernetes,kubectl,glusterfs,portal,挂载,metadata
来源: https://blog.51cto.com/5165807/2378217

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有