发布一个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插件
————————————————------------------------------------------------------------------------------------------------------------------
1类图
2python示例
'''
Created on 2017-2-8
@author: admin
'''
from abc import ABCMeta,abstractmethod;
from builtins import isinstance;
class Component:
__mataclass__=ABCMeta
@abstractmethod
def add(self,com):
pass
@abstractmethod
def delete(self):
pass
@abstractmethod
def getChildren(self):
pass
@abstractmethod
def showName(self):
pass
class File(Component):
def __init__(self,name,parent=None):
self.name=name;
self.parent=parent;
@abstractmethod
def add(self,com):
pass
@abstractmethod
def delete(self):
self.parent.getChildren().remove(self);
self.parent=None;
@abstractmethod
def getChildren(self):
return [];
@abstractmethod
def showName(self):
return self.name;
class Dirctory(Component):
def __init__(self,name,parent=None):
self.name=name;
self.parent=parent;
self.children=[];
@abstractmethod
def add(self,com):
self.children.append(com)
com.parent=self;
@abstractmethod
def delete(self):
self.deleteChild(self)
def deleteChild(self,parent):
if(isinstance(parent,File)):
parent.delete();
else:
self.parent.getChildren().remove(self);
self.parent=None;
for i in range(len(parent.getChildren())):
self.deleteChild(parent.getChildren()[i]);
@abstractmethod
def getChildren(self):
return self.children;
@abstractmethod
def showName(self):
return self.name
def printDir(parent,level):
print(" "*level,end="");
print(parent.showName())
if(not isinstance(parent,File)):
for i in range(len(parent.getChildren())):
printDir(parent.getChildren()[i],level+1);
if __name__ == '__main__':
file1=File("aaa");
file2=File("bbb");
dir1=Dirctory("d1");
dir1.add(file1);
dir1.add(file2);
dir2=Dirctory("d2");
file3=File("ccc");
file4=File("ddd");
dir2.add(file3);
dir2.add(file4);
dir1.add(dir2);
printDir(dir1,0);
print("---------------")
file3.delete();
printDir(dir1,0);
print("---------------")
dir2.delete();
printDir(dir1,0);