Skip to content

Commit

Permalink
[add] 添加Gitlab
Browse files Browse the repository at this point in the history
  • Loading branch information
cnych committed Mar 19, 2019
1 parent e2e64e8 commit 6736374
Show file tree
Hide file tree
Showing 67 changed files with 923 additions and 72 deletions.
1 change: 1 addition & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,4 @@
* [Jenkins Pipeline 部署 Kubernetes 应用](docs/37.Jenkins Pipeline.md)
* [Jenkins BlueOcean](docs/38.Jenkins BlueOcean.md)
* [Harbor](docs/63.Harbor.md)
* [Gitlab](docs/64.Gitlab.md)
6 changes: 6 additions & 0 deletions docs/1.课程介绍.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,9 @@
* Kubernetes的运维
* 包管理工具 Helm 的使用
* 最后我们会实现基于 Kubernetes 的 CI/CD


---
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![qrcode](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/10.Docker Swarm.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,3 +264,12 @@ Removing network wordpress_default
```
该命令不会移除服务所使用的`数据卷`,如果你想移除数据卷请使用`docker volume rm`
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。
![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/11.图形化管理和监控.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,12 @@ cAdvisor 通过该 REST API 暴露监控数据,格式如下:
```
http://<hostname>:<port>/api/<version>/<request>
```
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。
![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
10 changes: 10 additions & 0 deletions docs/12.Docker的多阶段构建.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,13 @@ $ docker run --rm -p 8080:8080 cnych/docker-multi-stage-demo:latest
现在我们就把两个镜像的文件最终合并到一个镜像里面了。

文章中涉及到代码可以前往 github 查看:[https://github.com/cnych/docker-multi-stage-demo](https://github.com/cnych/docker-multi-stage-demo)



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)

9 changes: 9 additions & 0 deletions docs/13.Dockerfile最佳实践.md
Original file line number Diff line number Diff line change
Expand Up @@ -365,3 +365,12 @@ FROM my-node
### 官方仓库示例
这些官方仓库的 Dockerfile 都是参考典范:[https://github.com/docker-library/docs](https://github.com/docker-library/docs)
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。
![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/14.Kubernetes初体验.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,12 @@ Service 是应用服务的抽象,通过 labels 为应用提供负载均衡和
每个 Service 都会自动分配一个 cluster IP(仅在集群内部可访问的虚拟地址)和 DNS 名,其他容器可以通过该地址或 DNS 来访问服务,而不需要了解后端容器的运行。
![k8s service](./images/k8s-service.png)
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/15.基本概念与组件.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,12 @@ Kubernetes 多组件之间的通信原理:
* scheduluer 检测到未绑定 Node 的 Pod,开始调度并更新 Pod 的 Node 绑定
* kubelet 检测到有新的 Pod 调度过来,通过 container runtime 运行该 Pod
* kubelet 通过 container runtime 取到 Pod 状态,并更新到 apiserver 中



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/16.用 kubeadm 搭建集群环境.md
Original file line number Diff line number Diff line change
Expand Up @@ -349,3 +349,12 @@ ydzs-master1 Ready master 3h v1.10.0
到这里就算我们的集群部署成功了,接下来就可以根据我们的需要安装一些附加的插件,比如 Dashboard、Heapster、Ingress-Controller 等等,这些插件的安装方法就和我们之前手动安装集群的方式方法一样了,这里就不在重复了,有问题可以在`github`上留言讨论。
![kubeadm dashboard](./images/kubeadm-dashboard.png)
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。
![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/17.安装 Dashboard 插件.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,12 @@ $ kubectl get secret admin-token-d5jsg -o jsonpath={.data.token} -n kube-system

然后在 dashboard 登录页面上直接使用上面得到的 token 字符串即可登录,这样就可以拥有管理员权限操作整个 kubernetes 集群的对象,当然你也可以为你的登录用户新建一个指定操作权限的用户。​​
![dashboard](./images/dashboard.png)



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
8 changes: 8 additions & 0 deletions docs/18.YAML 文件.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,3 +275,11 @@ kube100-site 2 2 2 2 2m

> 可以使用[http://www.yamllint.com/](http://www.yamllint.com/)去检验 YAML 文件的合法性。


---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/19.静态 Pod.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,12 @@ etcd.yaml kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yam
```
现在明白了吧,这种方式也为我们将集群的一些组件容器化提供了可能,因为这些 Pod 都不会受到 apiserver 的控制,不然我们这里`kube-apiserver`怎么自己去控制自己呢?万一不小心把这个 Pod 删掉了呢?所以只能有`kubelet`自己来进行控制,这就是我们所说的静态 Pod。
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。
![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
10 changes: 9 additions & 1 deletion docs/2.Docker 简介.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,12 @@ $ sudo systemctl start docker
另外一种安装方式是可以直接下载指定的软件包直接安装即可,前往地址:[https://download.docker.com/linux/centos/7/x86_64/stable/Packages/](https://download.docker.com/linux/centos/7/x86_64/stable/Packages/) 找到合适的`.rpm`包下载,然后安装即可:
```shell
$ sudo yum install /path/to/package.rpm
```
```


---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/20.Pod Hook.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,12 @@ spec:
```

另外`Hook`调用的日志没有暴露个给 Pod 的 event,所以只能通过`describe`命令来获取,如果有错误将可以看到`FailedPostStartHook`或`FailedPreStopHook`这样的 event。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/21.健康检查.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,3 +151,12 @@ spec:


这就是`liveness probe`(存活探针)和`readiness probe`(可读性探针)的使用方法。在`Pod`的生命周期当中,我们已经学习了容器生命周期中的钩子函数和探针检测,下节课给大家讲解`Pod`层面生命周期的一个阶段:初始化容器。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
10 changes: 9 additions & 1 deletion docs/22.初始化容器.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,4 +130,12 @@ root@nginx:~# cat /usr/share/nginx/html/index.html
如果我们看到有**百度**相关的信息那么证明我们上面的初始化的工作就完成了。

这就是我们初始化容器的使用方法,到这里我们就把`Pod`的整个生命周期当中的几个主要阶段讲完了,第一个是容器的两个钩子函数:`PostStart`和`PreStop`,还有就是容器健康检查的两个探针:`liveness probe`和`readiness probe`,以及这节课的`Init Container`。下节课开始我们来讲解一些常用的控制器和`Pod`的结合。
```
```


---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
8 changes: 8 additions & 0 deletions docs/23.使用RC管理Pod.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,11 @@ $ kubectl rolling-update rc-demo -f rc-demo.yaml

好,这节课我们就给大家介绍了使用`RC`或者`RS`来管理我们的`Pod`,我们下节课来给大家介绍另外一种更加高级也是现在推荐使用的一个资源对象`Deployment`。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
11 changes: 10 additions & 1 deletion docs/24.Deployment 使用.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,13 @@ $ kubectl rollout undo deployment nginx-deploy --to-revision=2
deployment "nginx-deploy" rolled back
```

现在可以用命令查看Deployment现在的状态了。
现在可以用命令查看Deployment现在的状态了。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/25.Pod 水平自动伸缩.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,12 @@ hpa-nginx-deploy 1 1 1 1 4d


不过当前的`HPA`只有`CPU`使用率这一个指标,还不是很灵活的,在后面的课程中我们来根据我们自定义的监控来自动对`Pod`进行扩缩容。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/26.Job与Cronjob 的使用.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,3 +131,12 @@ job "hello-1202039034" deleted
...
```
一旦 Job 被删除,由 Job 创建的 Pod 也会被删除。注意,所有由名称为 “hello” 的 Cron Job 创建的 Job 会以前缀字符串 “hello-” 进行命名。如果想要删除当前 Namespace 中的所有 Job,可以通过命令 kubectl delete jobs --all 立刻删除它们。
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。
![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/27.Service.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,12 @@ spec:

当查询主机 my-service.prod.svc.cluster.local (后面服务发现的时候我们会再深入讲解)时,集群的 DNS 服务将返回一个值为 my.database.example.com 的 CNAME 记录。 访问这个服务的工作方式与其它的相同,唯一不同的是重定向发生在 DNS 层,而且不会进行代理或转发。 如果后续决定要将数据库迁移到 Kubernetes 集群中,可以启动对应的 Pod,增加合适的 Selector 或 Endpoint,修改 Service 的 type,完全不需要修改调用的代码,这样就完全解耦了。




---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/28.ConfigMap.md
Original file line number Diff line number Diff line change
Expand Up @@ -292,3 +292,12 @@ port=3306


另外需要注意的是,当`ConfigMap`以数据卷的形式挂载进`Pod`的时,这时更新`ConfigMap`(或删掉重建`ConfigMap`),`Pod`内挂载的配置信息会热更新。这时可以增加一些监测配置文件变更的脚本,然后`reload`对应服务。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/29.Secret.md
Original file line number Diff line number Diff line change
Expand Up @@ -271,3 +271,12 @@ eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiw
- Secret 可以存储 docker register 的鉴权信息,用在 ImagePullSecret 参数中,用于拉取私有仓库的镜像
- Secret 支持 Base64 加密
- Secret 分为 kubernetes.io/service-account-token、kubernetes.io/dockerconfigjson、Opaque 三种类型,而 Configmap 不区分类型



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/3.镜像和容器的基本操作.md
Original file line number Diff line number Diff line change
Expand Up @@ -354,3 +354,12 @@ $ docker run --name webserv2 -d -p 81:80 nginx:v2
至此,我们第一次完成了定制镜像,使用的是`docker commit`命令,手动操作给旧的镜像添加了新的一层,形成新的镜像,对镜像多层存储应该有了更直观的感觉。
> 注意: docker commit 命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现场等。但是,不要使用 docker commit 定制镜像,定制镜像应该使用`Dockerfile`来完成。如果你想要定制镜像请查看下一小节。
---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)
扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。
![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/30.RBAC.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,3 +270,12 @@ $ kubectl get secret haimay-sa2-token-nxgqx -o jsonpath={.data.token} -n kube-sy
我们在最开始接触到`RBAC`认证的时候,可能不太熟悉,特别是不知道应该怎么去编写`rules`规则,大家可以去分析系统自带的 clusterrole、clusterrolebinding 这些资源对象的编写方法,怎么分析?还是利用 kubectl 的 get、describe、 -o yaml 这些操作,所以`kubectl`最基本的用户一定要掌握好。

`RBAC`只是`Kubernetes`中安全认证的一种方式,当然也是现在最重要的一种方式,后面我们再和大家一起聊一聊`Kubernetes`中安全设计。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/31.部署 Wordpress 示例.md
Original file line number Diff line number Diff line change
Expand Up @@ -471,3 +471,12 @@ deployment.apps "wordpress-deploy" created
service "wordpress" created
```
看看最后能不能得到我们的最终成果呢?



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/32.DaemonSet 与 StatefulSet.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,3 +287,12 @@ www-web-1 Bound pv002 1Gi RWO 22m
我们会在下节课开始和大家讲解存储卷的使用的,所以这里我们先暂时不展开讲解了,避免大家糊涂。

当然 StatefulSet 还拥有其他特性,在实际的项目中,我们还是很少回去直接通过 StatefulSet 来部署我们的有状态服务的,除非你自己能够完全能够 hold 住,对于一些特定的服务,我们可能会使用更加高级的 Operator 来部署,比如 etcd-operator、prometheus-operator 等等,这些应用都能够很好的来管理有状态的服务,而不是单纯的使用一个 StatefulSet 来部署一个 Pod就行,因为对于有状态的应用最重要的还是数据恢复、故障转移等等。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
9 changes: 9 additions & 0 deletions docs/33.PV.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,3 +232,12 @@ AccessModes 是用来对 PV 进行访问模式的设置,用于描述用户应
* Failed(失败): 表示该 PV 的自动回收失败

这就是 PV 的声明方法,下节课我们来和大家一起学习下 PVC 的使用方法。



---
[点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/)

扫描下面的二维码(或微信搜索`k8s技术圈`)关注我们的微信公众帐号,在微信公众帐号中回复 **加群** 即可加入到我们的 kubernetes 讨论群里面共同学习。

![k8s技术圈二维码](https://www.qikqiak.com/img/posts/qrcode_for_gh_d6dd87b6ceb4_430.jpg)
Loading

0 comments on commit 6736374

Please sign in to comment.