发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

第二个视频发布  https://edu.csdn.net/course/detail/27109

腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

第三个视频发布:https://edu.csdn.net/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件

--------------------------------------------------------------------------------------------------------------------------------------

helm 是用来解决什么问题的?我们先看一个使用场景:

我们要部署一个 mysql 服务,需要做以下几件事:
创建 service,让外部可以访问 mysql
创建 secret,定义密码
创建 persistentvolume,申请持久化空间
创建 deployment

需要这些对象的配置文件,通过 kubectl apply -f 部署。

上面方式的缺点:

管理,每个服务都有若干配置,缺乏更高层次的组织方式。
不容易将这些服务作为一个整体发布,部署人员需要理解都包含哪些服务、服务间的逻辑顺序,缺少依赖关系的管理。
不能高效的共享和重用。
没有应用级别的版本管理,现有的回滚是针对 deployment 的,不支持整个应用。
不支持应用状态的验证,kubernetes 的健康检查是针对单个容器的,我们需要应用级别的检查

所以,helm 就是用来解决这些问题的,它是更高层次的应用打包工具。

Helm2架构:

Helm简介

Helm2安装:

mv helm2 /usr/local/bin

Chmod +x /usr/local/bin/helm2

helm2 init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.1 --stable-repo-url  https://kubernetes-charts.storage.googleapis.com/

Helm3架构:

Helm简介

Helm3安装:

https://github.com/helm/helm/releases

Chmod +x helm3 && mv helm3 /usr/local/bin

helm3 repo add stable https://kubernetes-charts.storage.googleapis.com/

helm3 repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/

Helm2升级到helm3:

安装helm插件

helm3 plugin install https://gith.com/helm/helm-2to3

迁移Helm v2配置

helm3 2to3 move config

迁移Helm v2 releases

helm3 2to3 convert postgres

Helm2helm3的命令的区别:

 

Helm简介

Helm简介

 

Helm3新特性:

移除了 Tiller

不同的 namespace 可以使用相同的 Release Name

简化模板对象 .Capabilities

使用JSONSchema验证 charts Values

requirements.yaml合并到Chart.yaml

helm install 时需要指定 Release Name,开启自动生成需要 --generate-name 参数

支持 push 到远端 registry (如:harbor

移除 helm serve

命令行变化(将原先的命令保留为别名Aliases

helm delete --> helm uninstall

helm inspect -> helm show

helm fetch -> helm pull

 

 

 

 

 

 

 

 

 

相关文章: