实验手册-22-考前准备

目录
建立单节点集群
步骤1 重置集群
kubeadm reset

步骤2 修改主机名
hostnamectl set-hostname master学号
将学号改成自己的学号后两位,如 master01
步骤3 初始化
把 192.168.192.215 换成自己的 IP
kubeadm init --apiserver-advertise-address 192.168.192.215 --pod-network-cidr 10.244.0.0/16 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers
步骤4 验证
kubectl get node
查看节点状态是否为 Ready

去掉污点
步骤1 查看污点
将 master35 换成自己的节点名称
kubectl describe node master35 | grep Taint

步骤2 去掉污点
kubectl taint node master35 node-role.kubernetes.io/master:NoSchedule-
- master35 换成自己的节点名
- 注意最后有一个减号
出现以下提示代表成功:
准备目录
步骤1 建立PV使用的目录
mkdir /srv/mysql
考前测试
所有提到学号的地方,都是指学号后两位,如
01
题目一:建立PV(5分)
建立PV,要求如下:
- 名称为
mysql-pv-学号
,例如mysql-pv-01
- 类型为 hostPath,路径为
/srv/mysql
- StorageClassName与名称相同,如
mysql-pv-01
示例配置文件 pv.yaml
:
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
persistentVolumeReclaimPolicy: Retain
storageClassName: mysql-pv
hostPath:
path: /srv/mysql
题目二:建立PVC(5分)
要求:
- 名称为
mysql-pvc-学号
,如mysql-pvc-01
- Storage Class Name 为
mysql-pv-学号
示例配置文件pvc.yaml
:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: mysql-pv
题目三:部署MySQL(10分)
要求:
- 创建名为
mysql-学号
的 Deployment- 定义一个卷,名为
mysql-pv
- claim name 为
mysql-pvc-学号
- claim name 为
- 挂载卷
mysql-pv
- 挂载路径为
/var/lib/mysql
- 挂载路径为
- 数据库的登录密码为
password学号
,例如password01
- 定义一个卷,名为
- 创建名为
mysql-学号
的 Service
示例配置文件 mysql.yaml
:
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:5.6
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-pv
mountPath: /var/lib/mysql
volumes:
- name: mysql-pv
persistentVolumeClaim:
claimName: mysql-pvc
验证
kubectl get pod
kubectl get service
Pod 状态为 Running
题目四:向MySQL中添加数据(5分)
kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -h mysql-35 -ppassword35
注意
- -h 参数后面是 Service 名称
- -p 后面是数据库的登录密码
按照下图执行1~5条命令,并保留截图
必做
kubectl delete service mysql-学号
kubectl delete service mysql
kubectl delete deployment mysql-学号
kubectl delete deployment mysql
kubectl delete pvc mysql-pvc-学号
kubectl delete pvc mysql-pvc
kubectl delete pv mysql-pv-学号
kubectl delete pv mysql-pv