ceph对接k8s-pod

#ceph01:
ceph osd pool create k8s 64  64
wget http://192.168.18.251/file/ceph_common.tar.gz
tar xf ceph_common.tar.gz 
cd ceph_common/
yum -y localinstall *.rpm
scp -rp ceph_common.tar.gz root@10.0.0.13:/root
cd ceph_cluster/
scp -rp ceph.conf root@10.0.0.12:/etc/ceph
scp -rp ceph.conf root@10.0.0.13:/etc/ceph
rbd create --size 2048 --image-feature layering k8s/wp-mysql.img
rbd create --size 2048 --image-feature layering k8s/wp-web.img

#k8s-master
vim /root/k8s_yaml/wp/ceph-secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: ceph-secret
  namespace: wp
type: "kubernetes.io/rbd"
data:
  key: QVFCWTY0aGdhSitOSWhBQWFUWHc5ZVA4T2s3bHRjM0R3cjRWenc9PQ==

kubectl create -f ceph-secret.yaml
vim mysql-deploy.yml 
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: wp
  name: mysql
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: mysql
    spec:
      volumes:
      - name: mysql
        rbd:
          monitors:
          - '10.0.0.14:6789'
          - '10.0.0.15:6789'
          - '10.0.0.16:6789'
          pool: k8s
          image: wp-mysql.img
          fsType: xfs
          user: admin
          secretRef:
            name: ceph-secret
      nodeName: k8s-node-2
      containers:
        - name: mysql
          image: 10.0.0.11:5000/mysql:5.7
          ports:
          - containerPort: 3306
          volumeMounts:
            - mountPath: /var/lib/mysql
              name: mysql
          env:
          - name: MYSQL_ROOT_PASSWORD
            value: 'somewordpress'
          - name: MYSQL_DATABASE
            value: 'wordpress'
          - name: MYSQL_USER
            value: 'wordpress'
          - name: MYSQL_PASSWORD
            value: 'wordpress'

kubectl create -f mysql-deploy.yml
vim wp-deploy.yml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: wp
  name: myweb
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: wp
    spec:
      volumes:
      - name: wp
        rbd:
          monitors:
          - '10.0.0.14:6789'
          - '10.0.0.15:6789'
          - '10.0.0.16:6789'
          pool: k8s
          image: wp-web.img
          fsType: xfs
          user: admin
          secretRef:
            name: ceph-secret
      nodeName: k8s-node-2
      containers:
        - name: myweb
          image: 10.0.0.11:5000/wordpress:latest
          imagePullPolicy: Never
          ports:
          - containerPort: 80
          volumeMounts:
            - mountPath: /var/www/html
              name: wp
          env:
          - name: WORDPRESS_DB_HOST
            value: 'mysql'
          - name: WORDPRESS_DB_USER
            value: 'wordpress'
          - name: WORDPRESS_DB_PASSWORD
            value: 'wordpress'

kubectl create -f wp-deploy.yml 
kubectl create -f wp-svc.yml 
kubectl create -f mysql-svc.yml
#k8s-node-1:
tar xf ceph_common.tar.gz 
cd ceph_common/
rpm -Uvh *.rpm
grep key /etc/ceph/ceph.client.admin.keyring |awk '{printf "%s", $NF}'|base64
QVFCWTY0aGdhSitOSWhBQWFUWHc5ZVA4T2s3bHRjM0R3cjRWenc9PQ==
#k8s-node-2
tar xf ceph_common.tar.gz 
cd ceph_common/
yum -y localinstall *.rpm
df -TH|grep dev #验证
ll /var/lib/kubelet/plugins/kubernetes.io/rbd/rbd/k8s-image-wp-web.img/