【发布时间】:2017-10-27 06:13:31
【问题描述】:
希望你做得很好。 我在同一个 VM 中有 Kubernetes 主从模拟 ==> centos 7.3.1611,2gb 内存,2 个虚拟核心。
Mysql 容器服务。
用户登录:root
Kubernetes 版本:1.5
Temp directory
--------------
mkdir -p /tmp/work/data /tmp/work/init
db.sql
create table `item`(`id` bigint not null auto_increment primary key, `description` varchar(100), `done` bit);
insert into `item`(`id`,`description`, `done`) valumes(1, 'Today is Friday', 0);
insert into `item`(`id`,`description`, `done`) valumes(2, 'Today is Saturday', 1);
cp db.sql /tmp/work/init
pv001.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv001
labels:
type: local
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
#persistentVolumeReclaimPolicy: Recycle
hostPath:
path: "/tmp/work/data"
pv002.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv002
labels:
type: local
spec:
capacity:
storage: 1Mi
accessModes:
- ReadWriteOnce
#persistentVolumeReclaimPolicy: Recycle
hostPath:
path: "/tmp/work/init"
dbclaim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: dbclaim
labels:
name: map_data_volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
dbinit.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: dbinit
labels:
name: map_init_volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Mi
mkdir -p /var/lib/mysql/data /var/lib/mysql/init
mysql-pvc-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: mysql-pvc-pod
labels:
name: mysql-pvc-pod
spec:
containers:
- resources:
limits :
cpu: 1
image: mysql
name: mysql-pvc-pod
env:
- name: MYSQL_ROOT_PASSWORD
# change this
value: welcome1
- name: MYSQL_USER
value: testuser
- name: MYSQL_PASSWORD
value: mypass123
ports:
- containerPort: 3310
name: mysql-pvc-pod
volumeMounts:
- mountPath: /var/lib/mysql/data
name: db-volume
- mountPath: /var/lib/mysql/init
name: db-init
volumes:
- name: db-volume
persistentVolumeClaim:
claimName: dbclaim
- name: db-init
persistentVolumeClaim:
claimName: dbinit
mysql-pvc-pod-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
name: mysql-pvc-service
name: mysql-pvc-service
spec:
externalIPs:
- 10.0.2.15
ports:
# the port that this service should serve on
- port: 3310
# label keys and values that must match in order to receive traffic for this service
selector:
name: mysql-pvc-service
错误
我的 POD 崩溃了:CrashLoopBackOff
[root@centos7 ~]# kubectl 获取 pods
NAME READY STATUS RESTARTS AGE
mysql-pvc-pod 0/1 CrashLoopBackOff 8 18m
【问题讨论】:
-
您是否尝试使用
kubectl logs -f mysql-pvc-pod检查日志? -
我试过了,但没有运气,我给了所有的写权限
[root@centos7 ~]# ls -ltrh /var/lib/mysql/ total 0 drwxrwxrwx. 2 root root 6 May 26 05:49 data drwxrwxrwx. 2 root root 20 May 26 07:01 init [root@centos7 ~]# ls -ltrh /tmp/work/ total 0 drwxrwxrwx. 2 root root 6 May 25 19:06 data drwxrwxrwx. 2 root root 20 May 25 19:07 init [root@centos7 ~]# kubectl logs -f mysql-pvc-pod chown: cannot read directory '/var/lib/mysql/data': Permission denied chown: cannot read directory '/var/lib/mysql/init': Permission denied -
默认情况下,MySQL 将尝试使自己成为 datadir 的所有者,这被您的操作系统拒绝。是否启用了 selinux?运行 sestatus。
-
sestatus- 默认启用,解决方法是什么,我需要做什么
标签: mysql kubernetes