发布一个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类图
2c++示例
/*
* decorator.cpp
*
* Created on: 2017年2月7日
* Author: admin
*/
#include <iostream>
#include <string>
using namespace std;
class AbstractCar{
public:
virtual void canDo()=0;
virtual ~AbstractCar(){}
};
class RealCar:public AbstractCar{
public:
virtual void canDo(){
cout<<"I can run"<<endl;
}
};
class CanSwim:public AbstractCar{
public:
CanSwim(AbstractCar * car){
this->car=car;
}
public:
void canSwim(){
cout<<"I can swim"<<endl;
}
virtual void canDo(){
car->canDo();
canSwim();
}
private:
AbstractCar * car;
};
class CanFly:public AbstractCar{
public:
CanFly(AbstractCar* car){
this->car=car;
}
void canFly(){
cout<<"I can fly"<<endl;
}
virtual void canDo(){
car->canDo();
canFly();
}
private:
AbstractCar* car;
};
int main(){
AbstractCar * car=new RealCar;
car->canDo();
cout<<"===================="<<endl;
AbstractCar *swimCar=new CanSwim(car);
swimCar->canDo();
cout<<"===================="<<endl;
AbstractCar* flyCar=new CanFly(swimCar);
flyCar->canDo();
delete flyCar;
delete swimCar;
delete car;
return 0;
}