08 2021 档案
摘要:工具类 工具类通用特征写法: 构造器必须是私有的。这样的话,工具类就无法被 new 出来,因为工具类在使用的时候,无需初始化,直接使用即可,所以不会开放出构造器出来。 工具类的工具方法必须被 static、final 关键字修饰。这样的话就可以保证方法不可变,并且可以直接使用,非常方便。 尽量不在工
阅读全文
摘要:总结 要想理解 Redis 数据类型的设计,必须要先了解 redisObject。 Redis 的 key 是 String 类型,但 value 可以是很多类型(String/List/Hash/Set/ZSet等),所以 Redis 要想存储多种数据类型,就要设计一个通用的对象进行封装,这个对象
阅读全文
摘要:Static 因为是静态的、全局的,一旦被修饰,说明被修饰的东西在一定范围内是共享的,谁都可以访问,所以需要注意并发读写的问题。 修饰类变量 如果该变量是 public 的话,表示该变量任何类都可以直接访问,而且无需初始化类,直接使用 类名.static 变量 这种形式访问即可。 当多个线程同时对共
阅读全文
摘要:String 不变性 代码demo: String s ="hello"; s ="world"; 从代码表面看,s 的值好像被修改了,但从 debug 的日志来看,其实是 s 的内存地址被修改了,也就是说 s ="world" 这一行看似简单的赋值,其实已经把 s 的引用指向了新的 String。
阅读全文
摘要:KubeEdge边缘节点显示calico、kube-proxy、nodelocaldns等,并且 kubeproxy显示部署成功 calico初始化出现Error 这会导致部分 Pod 在调度至该边缘节点上后可能会一直处于 Pending 状态 这是因为部分守护进程集(例如,Calico)有强容忍度
阅读全文
摘要:我这里是在之前安装了kubesphere的集群上进行操作的 配置master节点 控制台->平台管理->集群管理->自定义CRD,搜索clusterconfiguration,查看详情,在资源列表中,点击 ks-installer 右侧的图标,然后选择编辑配置文件。 将kubeedge.enable
阅读全文
摘要:安装helm 创建helm文件夹,手动下载helm安装包,放入helm文件夹 tar -zxf helm-v3.2.1-linux-amd64.tar.gz && mv linux-amd64/helm . && rm -rf *linux-amd64* mv helm /usr/local/bin
阅读全文
摘要:[root@k8s-master01 ~]# kubectl get cs Warning: v1 ComponentStatus is deprecated in v1.19+ NAME STATUS MESSAGE ERROR controller-manager Unhealthy Get "
阅读全文
摘要:查询etcd相关pod kubectl get pod -n kube-system 进入 kubectl exec -ti etcd-k8s-master01 -n kube-system sh export ETCDCTL_API=3 etcdctl --cacert="/etc/kuberne
阅读全文
摘要:在master01上 生成新token [root@k8s-master01 ~]# kubeadm token create --print-join-command W0825 09:25:49.300571 23457 configset.go:348] WARNING: kubeadm ca
阅读全文
摘要:准备两台有网的Linux虚拟机,将这两台虚拟机添加到前边已经拿KubeKey搭建好的k8s集群 环境准备 yum源配置 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yu
阅读全文
摘要:准备一台有网的Linux虚拟机 环境准备 yum源配置 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yum install -y yum-utils device-ma
阅读全文
摘要:通过阅读 Redis 源码,可以学习和掌握到的计算机系统设计思想 根据 Redis 不同的功能特性,分线条学习每个功能特性上涉及的关键技术和设计思想 对于Redis的代码架构,需要掌握以下两类内容 代码的目录结构和作用划分,目的是理解 Redis 代码的整体架构,以及所包含的代码功能类别; 系统功能
阅读全文
摘要:开篇点题,用一个最形象的比喻:云计算系统的操作系统是k8s,容器就相当于是其进程,而Pod则是进程组。 容器跟虚拟机不能相提并论,无论是从具体的实现原理,还是从使用方法、特性、功能等方面,容器与虚拟机几乎没有任何相似的地方;也不存在一种普遍的方法,能够把虚拟机里的应用无缝迁移到容器中。因为,容器的性
阅读全文
摘要:创建nginx-deployment.yaml,意思为创建2个pod,每个pod里的nginx版本为1.7.9,容器监听端口(containerPort)是 80 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deploymen
阅读全文
摘要:nginx docker pull nginx:1.19.3-alpine docker run -itd --name nginx -p 80:80 nginx:1.19.3-alpine 进入容器 docker exec -it nginx sh 查看html目录 cd /usr/share/n
阅读全文
摘要:新建并启动容器 docker run -it --rm -p 8080:8080 tomcat:9.0.20-jre8-alpine -d, --detach=false: 后台运行容器,并返回容器ID -i, --interactive=false: 以交互模式运行容器,通常与 -t 同时使用 -
阅读全文
摘要:pull 下载镜像 docker pull tomcat:9.0.20-jre8 images 列出本机已有镜像 docker images docker image ls 清理镜像(临时的、没有被使用的镜像文件) docker image prune 常用参数 -a, --all : 删除所有没有
阅读全文
摘要:Docker环境信息 — docker [info|version] 容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause] 容器操作管理 — docker [ps|inspect|top|attach
阅读全文
摘要:容器 容器镜像(静态视图) 一组联合挂载在 /var/lib/docker/aufs/mnt 上的 rootfs 容器运行时(动态视图) 一个由 Namespace+Cgroups 构成的隔离环境 Namespace(充分地利用系统的资源,保证了安全性) PID Namespace 隔离不同容器的进
阅读全文
摘要:在前文kubeadm搭建k8s集群的基础上安装Kube Edge 再用前文制作的镜像创建一个虚拟机当做edge节点,没有的话,环境可以照着上一篇配一下,至于版本为什么用的1.6.2,因为现在最新1.7好多不兼容,后续要做实验 现在的兼容就是k8s版本1.19+KubeEdge1.6.2,然后才能被k
阅读全文
摘要:由于我后边要研究KubeEdge,而KubeEdge在这个时候最高支持到1.19版本,所以我使用的k8s版本为1.19.9,使用的平台是OpenStack私有云平台 节点规划以及网段配置 5台云服务器我这里用的系统版本为CentOS7.6,IP及后边的hosts文件需要改为如下: 192.168.8
阅读全文
摘要:我是在OpenStack平台上搭建K8s集群haproxy和keepalived遇到的虚拟IPping不通问题 进控制节点,使用admin登录 . admin-openrc 直接在OpenStackweb端:管理员-系统-网络,点击所在的网络名称,进入详情页面,然后点击创建端口按钮创建VIP端口 或
阅读全文
摘要:CentOS7.x系统自带的3.10.x内核存在一些Bugs,导致运行的Docker、kubernetes不稳定,建议升级内核,容器使用的坑会少很多 升级系统(我这里是7.6-->7.9) yum clean all yum update -y --exclude=kernel* reboot 更换
阅读全文