4. k8s 中 cephfs 成功的 yaml 文件¶
https://github.com/kubernetes-incubator/external-storage/tree/master/ceph/cephfs
对 我们好不容易成功安装的 k8s-cephfs 进行一个记录呀!
4.1. 环境¶
k8s-master 192.168.31.120 km master
k8s-node1 192.168.31.119 kn1 node1
k8s-node2 192.168.31.118 kn2 node2
cephfs-admin 192.168.31.115
cephfs-monitor 192.168.31.114
cephfs-client 192.168.31.172
4.2. git remote¶
jlch@km:~/cephfs$ git remote -v
origin https://github.com/kubernetes-incubator/external-storage (fetch)
origin https://github.com/kubernetes-incubator/external-storage (push)
jlch@km:~/cephfs$ git log | head
commit f1eb2a4ddf944fdd35a16e686ae104c1db8753b2
Merge: 06aaf46 52a4da4
Author: Matthew Wong <mawong@redhat.com>
Date: Tue Nov 21 01:48:43 2017 -0500
Merge pull request #468 from sathieu/patch-1
flex: Fix file shbang
commit 06aaf46950c9f6f741b34afc1d9f7807bdbe078c
jlch@km:~/cephfs$
4.3. git status¶
记录一下主要的修改点
jlch@km:~/cephfs$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: ceph-secret-admin.yaml
modified: claim.yaml
modified: class.yaml
modified: deployment.yaml
modified: test-pod.yaml
no changes added to commit (use "git add" and/or "git commit -a")
jlch@km:~/cephfs$
4.4. git diff¶
ceph-secret-admin.yaml¶
jlch@km:~/cephfs$ git diff ceph-secret-admin.yaml
diff --git a/ceph/cephfs/ceph-secret-admin.yaml b/ceph/cephfs/ceph-secret-admin.yaml
index c3a741a..1ebaac3 100644
--- a/ceph/cephfs/ceph-secret-admin.yaml
+++ b/ceph/cephfs/ceph-secret-admin.yaml
@@ -5,4 +5,5 @@ metadata:
type: "kubernetes.io/cephfs"
data:
#Please note this value is base64 encoded.
- key: QVFDTXBIOVlNNFExQmhBQVhHTlF5eU9uZThac1hxV0dvbi9kSVE9PQ==
+ #key: QVFDTXBIOVlNNFExQmhBQVhHTlF5eU9uZThac1hxV0dvbi9kSVE9PQ==
+ key: AQCtj+5ZnNTvGRAA2RxAGcIQZJnaJSPEz4jdGw==
jlch@km:~/cephfs$
claim.yaml¶
jlch@km:~/cephfs$ git diff claim.yaml
diff --git a/ceph/cephfs/claim.yaml b/ceph/cephfs/claim.yaml
index 2dca6ae..280a7a9 100644
--- a/ceph/cephfs/claim.yaml
+++ b/ceph/cephfs/claim.yaml
@@ -9,4 +9,4 @@ spec:
- ReadWriteMany
resources:
requests:
- storage: 1Gi
+ storage: 10Gi
jlch@km:~/cephfs$
class.yaml¶
jlch@km:~/cephfs$ git diff class.yaml
diff --git a/ceph/cephfs/class.yaml b/ceph/cephfs/class.yaml
index 91c73c0..b2825a3 100644
--- a/ceph/cephfs/class.yaml
+++ b/ceph/cephfs/class.yaml
@@ -4,7 +4,7 @@ metadata:
name: cephfs
provisioner: ceph.com/cephfs
parameters:
- monitors: 172.24.0.6:6789
+ monitors: 192.168.31.114:6789
adminId: admin
adminSecretName: ceph-secret-admin
adminSecretNamespace: "kube-system"
jlch@km:~/cephfs$
test-pod.yaml¶
jlch@km:~/cephfs$ git diff test-pod.yaml
diff --git a/ceph/cephfs/test-pod.yaml b/ceph/cephfs/test-pod.yaml
index 4888676..ece87e8 100644
--- a/ceph/cephfs/test-pod.yaml
+++ b/ceph/cephfs/test-pod.yaml
@@ -5,7 +5,8 @@ metadata:
spec:
containers:
- name: test-pod
- image: gcr.io/google_containers/busybox:1.24
+ image: gcr.io/google_containers/busybox:latest
+ imagePullPolicy: IfNotPresent
command:
- "/bin/sh"
args:
jlch@km:~/cephfs$
deployment.yaml¶
jlch@km:~/cephfs$ git diff deployment.yaml
diff --git a/ceph/cephfs/deployment.yaml b/ceph/cephfs/deployment.yaml
index 37c5f87..dc0315c 100644
--- a/ceph/cephfs/deployment.yaml
+++ b/ceph/cephfs/deployment.yaml
@@ -14,6 +14,7 @@ spec:
containers:
- name: cephfs-provisioner
image: "quay.io/external_storage/cephfs-provisioner:latest"
+ imagePullPolicy: IfNotPresent
env:
- name: PROVISIONER_NAME
valueFrom:
@@ -24,3 +25,23 @@ spec:
- "/usr/local/bin/cephfs-provisioner"
args:
- "-id=cephfs-provisioner-1"
+ - "-master=https://10.96.0.1/"
+ - "-kubeconfig=/kube/admin.conf"
+ volumeMounts:
+ - mountPath: /kube
+ name: kube-config
+ - mountPath: /var/run/kubernetes
+ name: kube-run-env
+ volumes:
+ - name: kube-config
+ hostPath:
+ # directory location on host
+ path: /home/jlch
+ # this field is optional
+ type: Directory
+ - name: kube-run-env
+ hostPath:
+ # directory location on host
+ path: /var/run/kubernetes
+ # this field is optional
+ type: Directory
4.5. cat¶
jlch@km:~/cephfs$ ls
cephfs_provisioner cephfs-provisioner.go ceph-secret-admin.yaml CHANGELOG.md claim.yaml class.yaml configmap.yaml deployment.yaml Dockerfile local-start.sh Makefile OWNERS README.md test-pod.yaml
jlch@km:~/cephfs$ cat ceph-secret-admin.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret-admin
type: "kubernetes.io/cephfs"
data:
#Please note this value is base64 encoded.
#key: QVFDTXBIOVlNNFExQmhBQVhHTlF5eU9uZThac1hxV0dvbi9kSVE9PQ==
key: AQCtj+5ZnNTvGRAA2RxAGcIQZJnaJSPEz4jdGw==
jlch@km:~/cephfs$ cat claim.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: claim1
annotations:
volume.beta.kubernetes.io/storage-class: "cephfs"
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
jlch@km:~/cephfs$ cat class.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: cephfs
provisioner: ceph.com/cephfs
parameters:
monitors: 192.168.31.114:6789
adminId: admin
adminSecretName: ceph-secret-admin
adminSecretNamespace: "kube-system"
jlch@km:~/cephfs$ cat test-pod.yaml
kind: Pod
apiVersion: v1
metadata:
name: test-pod
spec:
containers:
- name: test-pod
image: gcr.io/google_containers/busybox:latest
imagePullPolicy: IfNotPresent
command:
- "/bin/sh"
args:
- "-c"
- "touch /mnt/SUCCESS && exit 0 || exit 1"
volumeMounts:
- name: pvc
mountPath: "/mnt"
restartPolicy: "Never"
volumes:
- name: pvc
persistentVolumeClaim:
claimName: claim1
jlch@km:~/cephfs$ cat deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: cephfs-provisioner
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: cephfs-provisioner
spec:
containers:
- name: cephfs-provisioner
image: "quay.io/external_storage/cephfs-provisioner:latest"
imagePullPolicy: IfNotPresent
env:
- name: PROVISIONER_NAME
valueFrom:
configMapKeyRef:
key: provisioner.name
name: cephfs-provisioner
command:
- "/usr/local/bin/cephfs-provisioner"
args:
- "-id=cephfs-provisioner-1"
- "-master=https://10.96.0.1/"
- "-kubeconfig=/kube/admin.conf"
volumeMounts:
- mountPath: /kube
name: kube-config
- mountPath: /var/run/kubernetes
name: kube-run-env
volumes:
- name: kube-config
hostPath:
# directory location on host
path: /home/jlch
# this field is optional
type: Directory
- name: kube-run-env
hostPath:
# directory location on host
path: /var/run/kubernetes
# this field is optional
type: Directory
jlch@km:~/cephfs$