发布一个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插件
————————————————------------------------------------------------------------------------------------------------------------------
package com.data.struct;
import java.util.ArrayList;
import java.util.List;
public class DisJoinSet {
private List<Node> set;
public DisJoinSet(int []ids){
set=new ArrayList<Node>();
Node n=null;
for(int i=0;i<ids.length;i++){
Node node=new Node();
node.id=ids[i];
makeSet(node);
set.add(node);
if(n==null){
n=node;
}else{
union(n,node);
}
}
}
public void makeSet(Node x){
x.parent=x;
x.rank=0;
}
public void union(Node x,Node y){
link(findSet(x),findSet(y));
}
private void link(Node x,Node y){
if(x.rank>y.rank){
y.parent=x;
}else{
x.parent=y;
if(x.rank==y.rank){
y.rank++;
}
}
}
public Node findSet(Node x){
if(x.parent!=x){
x.parent=findSet(x.parent);
}
return x.parent;
}
public void print(){
for(int i=0;i<set.size();i++){
Node node=set.get(i);
while(node.parent!=node){
System.out.print(node.id+" ");
node=node.parent;
}
System.out.print(node.id+" ");
System.out.println();
}
}
private class Node{
private int rank;
private Node parent;
private int id;
}
public static void main(String[] args) {
int []ids=new int[]{1,2,3,4,5,6,7,8,9};
DisJoinSet set=new DisJoinSet(ids);
set.print();
}
}