摘要:参考前提需求现成的集群持久存储持久存储容量声明创建文件分别创建对于中的解释不会真正检查存储的访问模式或根据访问模式做访问限制,只是对真实存储的描述,最终的控制权在真实的存储端。
参考 / Reference
https://kubernetes.io/docs/ta...前提需求 / Rquirements
现成的kubernetes集群
持久存储-PersistentVolume
持久存储容量声明-PersistentVolumeClaim
创建yaml文件 / Create YAML filehttps://raw.githubusercontent...
分别创建 Service、PersistentVolumeClaim、Deployment
apiVersion: v1 kind: Service metadata: name: mysql spec: ports: - port: 3306 selector: app: mysql clusterIP: None --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pv-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1 kind: Deployment metadata: name: mysql spec: selector: matchLabels: app: mysql strategy: type: Recreate template: metadata:、 labels: app: mysql spec: containers: - image: mysql:5.6 name: mysql env: # Use secret in real usage - name: MYSQL_ROOT_PASSWORD value: password ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pv-claim
对于PersistentVolumeClaim中Access Modes的解释:
k8s不会真正检查存储的访问模式或根据访问模式做访问限制,只是对真实存储的描述,最终的控制权在真实的存储端。目前支持三种访问模式:
ReadWriteOnce – PV以read-write 挂载到一个节点
ReadWriteMany – PV以read-write 方式挂载到多个节点
ReadOnlyMany – PV以read-only 方式挂载到多个节点
部署YAML文件 / Deploy the Deploymentkubectl create -f https://k8s.io/docs/tasks/run-application/mysql-deployment.yaml or kubectl create -f mysql-deployment.yaml
查看Deployment的详细信息
kubectl describe deployment mysql
查看Deployment的pods信息
kubectl get pods -l app=mysql
检查PersistentVolumeClaim的信息
kubectl describe pvc mysql-pv-claim进入MySQL实例 / Connet to MySQL
启动一个MySQL客户端服务并连接到MySQL
kubectl run -it --rm --image=mysql:5.6 --restart=Never mysql-client -- mysql -h mysql -ppassword升级MySQL应用 / Upgrade MySQL
可以使用 kubectl apply 命令对Deployment中的image或者其它部分进行升级;
针对有状态应用StatefulSet, 需要注意以下几点:
Don’t scale the app
This setup is for single-instance apps only. The underlying PersistentVolume can only be mounted to one Pod. For clustered stateful apps, see the StatefulSet documentation.
Use strategy: type: Recreate
in the Deployment configuration YAML file. This instructs Kubernetes to not use rolling updates. Rolling updates will not work, as you cannot have more than one Pod running at a time. The Recreate strategy will stop the first pod before creating a new one with the updated configuration
删除Deployment / Delete the ploymentDelete the deployed objects by name:
kubectl delete deployment,svc mysql kubectl delete pvc mysql-pv-claim
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/32615.html
摘要:参考前提需求现成的集群持久存储持久存储容量声明创建文件分别创建对于中的解释不会真正检查存储的访问模式或根据访问模式做访问限制,只是对真实存储的描述,最终的控制权在真实的存储端。 参考 / Reference https://kubernetes.io/docs/ta... 前提需求 / Rquirements 现成的kubernetes集群 持久存储-PersistentVolume...
摘要:是谷歌内部为解决这个问题所做的工作的产物,它为管理容器如何在整个集群中运行提供了一个单一的框架。在云中使用服务在许多云中作为标准问题项提供,尽管它在谷歌云平台,中最突出地表现为本地特性。使用,运行控制平面,将重点部署将用于所需配置的容器。每一项创新都会带来新的复杂性。容器使以一种方便的、可移植的形式打包和运行应用程序成为可能,但至少要说以规模管理容器是一个挑战。Kubernetes是谷歌内部...
摘要:健康监控检查,可以说是集群中最重要的一部分了。我们在这里没有使用推荐的方式,我们自己将其与内部的系统做了结合,通过来对整个集群进行监控报警自动化操作。 在公司内部,基于kubernetes实现了简单的docker应用集群系统,拿出来和大家分享下,在这个系统中,实现了应用的自动部署、动态扩容、节点切换、健康检查、AB式版本更新等功能,也欢迎大家将各自的实现也分享给我。 整体架构 整体架构...
摘要:健康监控检查,可以说是集群中最重要的一部分了。我们在这里没有使用推荐的方式,我们自己将其与内部的系统做了结合,通过来对整个集群进行监控报警自动化操作。 在公司内部,基于kubernetes实现了简单的docker应用集群系统,拿出来和大家分享下,在这个系统中,实现了应用的自动部署、动态扩容、节点切换、健康检查、AB式版本更新等功能,也欢迎大家将各自的实现也分享给我。 整体架构 整体架构...
阅读 1847·2021-11-22 15:24
阅读 1306·2021-11-12 10:36
阅读 3193·2021-09-28 09:36
阅读 1836·2021-09-02 15:15
阅读 2743·2019-08-30 15:54
阅读 2391·2019-08-30 11:02
阅读 2389·2019-08-29 13:52
阅读 3537·2019-08-26 11:53