发布一个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;
/**
* 二位数组实现列表
* 第一行表示next
* 第二行表示value
* 第三行表示prev
* @author Administrator
*
*/
public class ArrayNodeList {
private int[][]storage;
private int head;
private int free;
public ArrayNodeList(int size){
storage=new int[3][size];
head=-1;
free=0;
for(int i=0;i<size-1;i++){
storage[0][i]=i+1;
}
storage[0][size-1]=-1;
}
/**
* 获取某个位置的值
* @param index
* @return
*/
public int getValue(int index){
return storage[1][index];
}
/**
* 分配内存
* @return
* @throws Exception
*/
private int locateObject()throws Exception{
if(free==-1){
throw new Exception("out of space");
}else{
int x=free;
free=storage[0][free];
return x;
}
}
/**
* 释放内存
* @param x
*/
private void freeObject(int x){
storage[0][x]=free;
free=x;
}
/**
* 打印
*/
public void print(){
int x=head;
while(x!=-1){
System.out.print(storage[1][x]+" ");
x=storage[0][x];
}
System.out.println();
}
/**
* 搜索值为k的为位置
* @param k
* @return
*/
public int search(int k){
int x=head;
while(x!=-1&&storage[1][x]!=k){
x=storage[0][x];
}
return x;
}
/**
* 插入值为value的数据
* @param value
* @throws Exception
*/
public void insert(int value)throws Exception{
int x=locateObject();
storage[0][x]=head;
storage[1][x]=value;
storage[2][x]=-1;
if(head!=-1){
storage[2][head]=x;
}
head=x;
}
/**
* 删除位置为index的数据
* @param index
* @throws Exception
*/
public void delete(int index)throws Exception{
if(storage[2][index]!=-1){
storage[0][storage[2][index]]=storage[0][index];
}else{
head=storage[0][index];
}
if(storage[0][index]!=-1){
storage[2][storage[0][index]]=storage[2][index];
}
freeObject(index);
}
public static void main(String[] args)throws Exception {
ArrayNodeList list=new ArrayNodeList(10);
list.print();
list.insert(10);
list.insert(20);
list.print();
list.delete(1);
list.print();
list.insert(30);
list.insert(40);
list.print();
//list.delete(2);
//list.print();
System.out.println(list.getValue(list.search(30)));
}
}