k 8 s無脳シリーズ(三)-NSSストレージ(簡易バージョン)
9980 ワード
k 8 s無脳シリーズ(三)-NSSストレージ(簡易バージョン)
1.概念
A PVC to PV binding is a one-to-one mapping, using a ClaimRef which is a bi-directional binding between the PersistentVolume and the PersistentVolumeClaim
pvcとpvのバインド関係は一対一に対応している.注意!ここでの1つの対応は、pvcごとに1つのpvしかないが、pvは複数のpvcに対応することができる.この点はAccess ModesにReadWriteManyが含まれていることから分かる.
2.配置
2.1 NFSインストール
$yum install nfs-utils -y
$systemctl enable rpcbind nfs
$systemctl start rpcbind nfs
$mkdir /data/nfs
$chown -R nfsnobody.nfsnobody /data/nfs
$vim /etc/export
/data/nfs 192.168.56.0/24(rw,async,all_squash)
/data/nfs/mysql 192.168.56.0/24(rw,async,no_root_squash,fsid=0) # ,MYSQL ROOT
$systemctl restart nfs
cd $HOME
mkdir nfs
sudo mount -t nfs 192.168.56.4:/data/nfs nfs
3.実際の操作
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
path: /data/nfs/mysql
server: 192.168.56.4
$kubectl create -f mysql-pv.yaml
$kubectl get pv mysql-pv
NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM REASON AGE
mysql-pv 5Gi RWO Recycle Available 3s
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
$kubectl create -f mysql-pvc.yaml
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
pvc/mysql-pvc Bound mysql-pv 5Gi RWO 22s
NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM REASON AGE
pv/mysql-pv 5Gi RWO Recycle Bound default/mysql-pvc 2m
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql-rc
spec:
replicas: 1
selector:
app: mysql-pod
template:
metadata:
labels:
app: mysql-pod
spec:
containers:
- name: mysql
image: mysql:5.6
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123"
volumeMounts:
- mountPath: "/var/lib/mysql"
name: mysql-data
volumes:
- name: mysql-data
persistentVolumeClaim:
claimName: mysql-pvc
$kubectl create -f mysql-rc.yaml
$kubectl get rc mysql-rc
NAME DESIRED CURRENT READY AGE CONTAINER(S) IMAGE(S) SELECTOR
mysql-rc 1 1 1 16s mysql mysql:5.6 app=mysql-pod
$cd /data/nfs/mysql && ls
auto.cnf ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema
4.並べ替えおよび解決方法
$kubectl describe pod mysql-rc-xxxx
$kubectl log mysql-rc-xxxx
podが存在するマシンを表示し、エラーログはpodが存在するノードに入り、dfコマンドを実行してマウントに成功したかどうかを確認します