发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967
课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。
腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518
第二个视频发布 https://edu.youkuaiyun.com/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.youkuaiyun.com/course/detail/27574
详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------
1类图
2清洁工例子java示例
public class Test {
public static void main(String[] args) {
Cleaner mark=new CleanerMark("Mark");
Cleaner jane=new CleanerJane("Jane");
Cleaner director=new CleanerDirector("andy");
Park park=new Park("月湖公园");
ParkArea areaA=new ParkAreaA("湖心岛");
ParkArea areaB=new ParkAreaB("小树龄");
park.addParkArea(areaA);
park.addParkArea(areaB);
areaA.accept(jane);
areaB.accept(mark);
park.accept(director);
}
}
public abstract class Cleaner {
protected String name;
public abstract void clean(ParkArea area);
}
public class CleanerDirector extends Cleaner {
public CleanerDirector(String name){
this.name=name;
}
@Override
public void clean(ParkArea area) {
System.out.println("cleaner "+this.name+" 完成对区域"+area.getName()+"的打扫");
}
}
public class CleanerJane extends Cleaner {
public CleanerJane(String name){
this.name=name;
}
@Override
public void clean(ParkArea area) {
System.out.println("cleaner "+this.name+" 完成对区域"+area.getName()+"的打扫");
}
}
public class CleanerMark extends Cleaner {
public CleanerMark(String name){
this.name=name;
}
@Override
public void clean(ParkArea area) {
System.out.println("cleaner "+this.name+" 完成对区域"+area.getName()+"的打扫");
}
}
public abstract class ParkArea {
protected String name;
public String getName() {
return name;
}
public abstract void accept(Cleaner cleaner);
}
public class ParkAreaA extends ParkArea {
public ParkAreaA(String name){
this.name=name;
}
@Override
public void accept(Cleaner cleaner) {
cleaner.clean(this);
}
}
public class ParkAreaB extends ParkArea {
public ParkAreaB(String name){
this.name=name;
}
@Override
public void accept(Cleaner cleaner) {
cleaner.clean(this);
}
}
public class Park extends ParkArea {
private Set<ParkArea> elements=new HashSet<ParkArea>();
public Park(String name){
this.name=name;
}
public void addParkArea(ParkArea area){
elements.add(area);
}
@Override
public void accept(Cleaner cleaner) {
for(ParkArea area:elements){
cleaner.clean(area);
}
}
}
3警察巡逻例子java实现
public class Test {
public static void main(String[] args) {
Region jiangdong=new JiangDongRegion("jiangdong");
Region haishu=new HaiShuRegion("haishu");
City city=new City("ningbo");
city.addRegion(haishu);
city.addRegion(haishu);
Police mark=new FreshmanPolice("mark");
Police sunny=new SophermoePolice("sunny");
Police deisy=new DirectorPolice("deisy");
jiangdong.accept(deisy);
haishu.accept(sunny);
city.accept(deisy);
}
}
public class SophermoePolice extends Police {
public SophermoePolice(String name){
this.name=name;
}
@Override
public void visit(Region region) {
System.out.println(this.name+"视察了"+region.getName()+"区域");
}
}
public abstract class Region {
protected String name;
public abstract void accept(Police police);
public String getName() {
return name;
}
}
public abstract class Police {
protected String name;
public abstract void visit(Region region);
public String getName() {
return name;
}
}
public class JiangDongRegion extends Region {
public JiangDongRegion(String name){
this.name=name;
}
@Override
public void accept(Police police) {
police.visit(this);
}
}
public class HaiShuRegion extends Region {
public HaiShuRegion(String name){
this.name=name;
}
@Override
public void accept(Police police) {
police.visit(this);
}
}
public class FreshmanPolice extends Police {
public FreshmanPolice(String name){
this.name=name;
}
@Override
public void visit(Region region) {
System.out.println(this.name+"视察了"+region.getName()+"区域");
}
}
public class DirectorPolice extends Police {
public DirectorPolice(String name){
this.name=name;
}
@Override
public void visit(Region region) {
System.out.println(this.name+"视察了"+region.getName()+"区域");
}
}
public class City extends Region {
private List<Region> regionList=new ArrayList<Region>();
public City(String name){
this.name=name;
}
public void addRegion(Region region){
regionList.add(region);
}
@Override
public void accept(Police police) {
for(Region region:regionList){
police.visit(region);
}
}
}