交互平台:
Interactive Tutorial - Creating a Cluster | Kubernetes
使用以下命令启动k8s
minikube start
使用kubectl get nodes 和 kubectl cluster-info查看节点和集群信息
基本操作:
部署应用:
kubectl create deployment kubernetes-bootcamp \
--image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080
暴露端口:
kubectl expose deployment.apps/kubernetes-bootcamp \
--type="NodePort" --port 8080
查看映射的端口并访问:
设置副本数:
kubectl scale deployment.apps/kubernetes-bootcamp --replicas=3
版本升级:
kubectl set image deployment.apps/kubernetes-bootcamp \
kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
查看Pod:
版本回滚:
kubectl rollout undo deployments/kubernetes-bootcamp
数据持久化(PVC):
使用vi将下面的配置信息粘贴过去即可
pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /home/disk
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- minikube
pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc
spec:
resources:
requests:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
运行命令:
kubectl apply -f pv.yml
kubectl apply -f pvc.yml
使用命令查看pv和pvc:
kubectl get pv,pvc
配置pod.yml
apiVersion: v1
kind: Pod
metadata:
name: mypod1
spec:
containers:
- name: mypod1
image: docker.io/jocatalin/kubernetes-bootcamp:v1
volumeMounts:
- mountPath: "/mydata"
name: mydata
volumes:
- name: mydata
persistentVolumeClaim:
claimName: pvc
运行命令:
mkidr /home/disk
kubectl apply -f pod.yml
查看Pod状态:
在挂载目录下写入文件:
kubectl exec mypod1 -- touch /mydata/test
查看文件:
参考资料:
k8s--五种控制器类型解析_长恋离亭的博客-CSDN博客_k8s kind 类型
k8s的持久化存储PV&&PVC - benjamin杨 - 博客园
k8s之PV、PVC、StorageClass详解 - 知乎
K8S-PD Pod 处于 Pending 状态 - 简书
Kubernetes K8S之存储PV-PVC详解_踏歌行的专栏-CSDN博客_k8s pv
Minikube体验 - Cocowool - 博客园
1 node(s) had volume node affinity conflict. - KubeSphere 开发者社区