发布一个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插件
————————————————------------------------------------------------------------------------------------------------------------------
1scala版本
package ms
/**
* 第15题(树):
题目:输入一颗二元查找树,将该树转换为它的镜像,
即在转换后的二元查找树中,左子树的结点都大于右子树的结点。
用递归和循环两种方法完成树的镜像转换。
例如输入:
8
/ /
6 10
// //
5 7 9 11
输出:
8
/ /
10 6
// //
11 9 7 5
定义二元查找树的结点为:
struct BSTreeNode // a node in the binary search tree (BST)
{
int m_nValue; // value of node
BSTreeNode *m_pLeft; // left child of node
BSTreeNode *m_pRight; // right child of node
};
*/
class BinarySearchReverseTree(){
var root:Node=null;
def this(data:List[Int]){
this()
if(data.length>0){
this.root=new Node(data(0))
for(i<-1 until data.length){
insertNode(this.root,data(i))
}
}
}
private[this] def insertNode(parent:Node,value:Int){
if(parent.value>value){
if(parent.left==null){
parent.left=new Node(value)
}else{
insertNode(parent.left,value)
}
}else{
if(parent.right==null){
parent.right=new Node(value)
}else{
insertNode(parent.right,value)
}
}
}
def switch(parent:Node){
if(parent==null)return;
val left=parent.left
val right=parent.right
parent.left=right
parent.right=left
switch(parent.left)
switch(parent.right)
}
def printPreOrder(parent:Node){
if(parent==null)return
else
printPreOrder(parent.left)
print(parent.value+",")
printPreOrder(parent.right)
}
case class Node(var value:Int,var left:Node=null,var right:Node=null)
}
object MicroSoft015 {
def main(args: Array[String]): Unit = {
val data=List(5,7,2,3,8,1,6,9)
val tree=new BinarySearchReverseTree(data)
tree.printPreOrder(tree.root)
tree.switch(tree.root)
println()
tree.printPreOrder(tree.root)
}
}
2java版本
http://blog.csdn.net/hxpjava1/article/details/22437005
3python版本
'''
Created on 2017-1-18
@author: admin
第15题(树):
题目:输入一颗二元查找树,将该树转换为它的镜像,
即在转换后的二元查找树中,左子树的结点都大于右子树的结点。
用递归和循环两种方法完成树的镜像转换。
例如输入:
8
/ /
6 10
// //
5 7 9 11
输出:
8
/ /
10 6
// //
11 9 7 5
定义二元查找树的结点为:
struct BSTreeNode // a node in the binary search tree (BST)
{
int m_nValue; // value of node
BSTreeNode *m_pLeft; // left child of node
BSTreeNode *m_pRight; // right child of node
};
'''
from _overlapped import NULL
class BinarySearchReverseTree:
def __init__(self,data):
if len(data)>0:
self.root=self.Node(data[0])
for i in range(1,len(data)):
self._insertNode(self.root,data[i])
def _insertNode(self,parent,value):
if parent.value>value:
if parent.left==NULL:
parent.left=self.Node(value)
else:
self._insertNode(parent.left, value)
else:
if parent.right==NULL:
parent.right=self.Node(value)
else:
self._insertNode(parent.right, value)
def switch(self,parent):
if parent==NULL:
return;
left=parent.left
right=parent.right
parent.left=right
parent.right=left
self.switch(parent.left)
self.switch(parent.right)
def printTree(self,parent):
if parent==NULL:
return
self.printTree(parent.left)
print(parent.value,end=",")
self.printTree(parent.right)
class Node:
def __init__(self,value):
self.value=value
self.left=NULL
self.right=NULL
if __name__ == '__main__':
data=[5,7,2,3,8,1,6,9]
tree=BinarySearchReverseTree(data)
tree.printTree(tree.root)
print()
tree.switch(tree.root)
tree.printTree(tree.root)