自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux下安装Nginx-1.22.1

Linux下安装Nginx-1.22.1

2022-12-26 15:03:07 3863 1

原创 K8S冲浪(2) - 使用curl访问api-server(方式一)

今天让我们来体验一下,使用curl的方式访问api-server。实验目标:使用curl的方式,取得下面的bb-128这个POD的名称。环境说明:操作步骤:第1步:在kube-system命名空间中创建一个serivceaccount: test-sa-2从上图可以看到,创建后,它的Tokens目前为none:第2步:准备一份yaml文件,创建secret对象,并绑定到test-sa-2.创建secret对象:查看一下:...

2022-05-19 17:00:44 1456

原创 体验K8S的x509认证及RBAC授权机制

先让我们重温两个英文单词:authentication(认证)、authorization(授权)。今天的实验目标:1)基于X509证书方式来完成authentication(认证)。2)基于RBAC方式来完成authorization(授权)环境说明:操作步骤:第1步:生成Private key文件:执行:查看一下生成的Private key文件:第2步: 使用私钥生成csr请求文件:查看csr文件:第3.

2022-05-17 10:52:49 1090

原创 个人笔记:vmware16 +ubuntu22.04搭建单节点 kubernetes 1.24+连接Harbor

本次搭建与上次的类似,不同之处是,本次不用安装docker。不熟悉的同学,可以先看看我的上一篇文章(以下简称上一篇文章):个人笔记:vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2_湾区的候鸟的博客-CSDN博客_vmware16密钥今天使用vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2,踩了不少的坑,记录一下,希望能帮到大家。先看一篇高质量的参考:基于vmware16 和 ubuntu20.04, 搭建单节点 kub

2022-05-14 21:18:41 2264

原创 envoy入门(2)(k8s环境)

今天,让我们一起来在k8s环境下,体验一下envoy.环境说明:centos 7.9 Harbor-2.4 ,域名:hb.cn docker:实验的目标:使用envoy POD做反向代理,访问另一个POD tomcat(业务容器),并通过NodePort的方式,把envoy的服务暴露去出,实现可以在k8s中任意node节点上访问,如下。操作步骤:第1步:准备tomcat 的文件.上图中设置了tomcat服务的名称为:tomcat-9-svc,端口为80.

2022-05-09 11:52:59 2277 1

原创 envoy入门(1)(docker环境)

今天,让我们一起来在docker环境下,体验一下envoy.环境说明:centos 7.9 Harbor-2.4 ,域名:hb.cn docker:实验的目标:使用envoy容器做反向代理,访问另一个容器中的nginx(业务容器),如下。操作步骤:第1步:先跑一个nginx,作为业务逻辑,暴露端口为:8022。docker run -d --name nginx-1215 --rm -p 8022:80 hb.cn/repo/nginx:1.21.5注意

2022-05-08 11:42:59 2018

原创 使用kubectl create创建deployment(不使用yaml文件)

今天,我们来试试使用kubectl create的方式创建deployment,不使用yaml文件。k8s实验环境说明:第1步:创建有两个pod的deployment。第2步:查看一下创建出来的pod和deployment、replicaset。第3步:把svc以NodePort方式暴露出去,端口为80,指定selector。第4步: 检查一下,发现endpoint没有生效。原因是创建pod时忘记加label。另外,我们没有指定外部端口,从上图可以看到

2022-05-07 17:39:27 1616 1

原创 Ubuntu 20.04添加临时/永久路由

1)添加临时路由2) 添加永久路由保存上面的文件,然后执行:netplan apply重启上,上面的default规则还有,说明是永久的。

2022-05-07 10:47:31 17158 1

原创 个人笔记:vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2

今天使用vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2,踩了不少的坑,记录一下,希望能帮到大家。先看一篇高质量的参考:基于vmware16 和 ubuntu20.04, 搭建单节点 kubernetes 1.22.2_琦彦的博客-CSDN博客基于vmware16 和 ubuntu20.04, 搭建单节点 kubernetes 1.22.2安装环境win10ubuntu版本 20.04.3docker版本 20.10.7k8s版本 1.22.2vmware参考

2022-05-03 08:36:08 1943

原创 浅谈云原生的各种专有名词(1)

刚开始学习云原生的时候,被各种专有名词搞得一头雾水,新名称太多,反而让人不容易理解。今天,就让我们理一下。环境说明:先看一张图:0) docker公司这是一个正确的废话,我们常说的docker,不仅是一门技术,还是一家公司。官网:www.docker.com1)docker client也叫docker客户端, 这是一个命令工具,在安装在/usr/bin/docker下。当你打docker run xxx 时,它会向docker-daemon...

2022-04-29 11:58:00 1668 1

原创 观察containerd-shim-runc-v2进程与容器里的1号进程

我们使用docker run 启用一个容器时,docker 会给每个容器都启动一个containerd-shim-runc-v2进程,一开始,我以为这个containerd-shim-runc-v2就是容器里的1号进程(PID=1),但实际上不是。如何证明containerd-shim-runc-v2不是容器里的1号进程(PID=1)呢?证明如下:第1步:环境检查。 [root@workstation ~]# ps -ef|grep containerdroot 1120

2022-04-28 09:25:42 5355 2

原创 我对Kube-Scheduler调度过程的理解

今天阅读了张磊老师的《深入剖析Kubernetes》第41章节,对调度器的一些说明。对于kube-scheduler组件的整个调度流程,我个人的理解如下:第1步:通过ApiServer,监听ETCD中对象的变化,完成:a) 取得待调度的Pod列表,放入队列,即:调度队列(FIFO)。b) 取得所有Node列表,放入缓存,即:Scheduler Cache。第2步:从队列中挑选出一个POD,进行Predicates算法,得到一组可用的Node列表。第3步:对Node列表进行的打分,从0

2022-04-14 21:55:45 466

原创 使用cgroup限制进程的cpu资源

今天尝试了一下使用cgroup (control group)来限制进程对CPU时间的使用。对于一个计算密集型的进程,要求只能使用10%的CPU时间。准备工作:1)准备一台CentOS 7服务器。2)安装go环境。3)安装cgexec命令。 [root@workstation cpu-01]# yum install libcgroup-tools.x86_64 -yLoaded plugins: fastestmirrorDetermining fastest m...

2022-04-14 06:46:56 4742 1

原创 我的K8S-v1.23.1安装笔记

我的K8S-v1.23.4安装笔记(2021-12-27)第1步:在VMware中安装1台CentOS 7,即master.镜像为:CentOS-7-x86_64-DVD-2009.iso第2步:给master添加两张网卡,分别走无线网,VMnet2网。注1:我的T490笔记本的固定无线IP为: 192.168.43.111注2:VMnet2网的IP在192.168.114.x网段。第3步:设置master的IP为:注:

2022-04-12 17:29:56 1334

原创 Go语言实现超时的3种方法

超时,指一个协程A开启另一个协程B,A会阻塞等待B一段指定的时间,例如:5秒,A通知B结束。也就是说,A就不愿意阻塞等待太久。Go语言有多种方法实现这种超时,我总结出3种:方法一:用两个通道 + A协程sleep一个通道用来传数据,一个用来传停止信号。package mainimport ( "fmt" "time")// 老师视频里的生产者消费者func main() { //知识点: 老师这里用了两个线程,一个用个传数据,一个用来传关闭信号 messages :=

2022-04-12 08:11:02 4069 1

原创 Kubernetes删除节点

今天在K8S集群 中删除一个工作节点,从3个变成2个,即把名为node3的工作节点删除。操作步骤:第1步:在master节上,执行:kubectl drain node3 --delete-local-data --force --ignore-daemonsets[root@master test-hostnetwork]# kubectl drain node3 --delete-local-data --force --ignore-daemonsetsFlag --delete-lo

2022-04-03 16:02:36 6908

原创 K8S冲浪(1):体验ReadinessProbe

今天让我们一起来体验一下K8S中的探针:ReadinessProbe。本文所用的示例代码,有一部分已放到码云上:k8s-readiness-probe: 学习使用Kubenetes中的ReadinessProbe1)使用JDK 8 包括出jar。2)制件镜像,上传到harbor镜像私服3)制K8S资源的yaml文件4)部署到K8S集群中验证效果。https://gitee.com/wqhn2020/k8s-readiness-probe.git操作步骤:第1步:编写JAR包程序。这是一个

2022-04-02 19:52:32 789

原创 kubebuilder实践笔记(4) - 编写简单的业务逻辑

今天使用kubebuilder,在一个Controller中编写简单的业务逻辑。需求:1)实现对象状态的转换:PENDING>RUNNING>DONE2)到了指定的时间,controller会感知到,然后创建一个Pod,启动一个BusyBox的容器,打印出YOY。声明:1)本文的部分源码源于《Kubernetes编程》书籍,版权属于此书作者。2) 本文的源码已放到码云:https://gitee.com/wqhn2020/ncat.git)本文使用的操作环境.

2022-04-01 18:48:50 1677

原创 kubebuilder实践笔记(3) - 修改CRD中的字段

这一篇是在上一篇《kubebuilder实践笔记(2) - 入门体验_湾区的候鸟的博客-CSDN博客》成功的基础上,再做一点点变化,给CRD加上几个自定义字段,使用kubebuilder重新生成代码,并部署到K8S中,修改资源对象,并观察自定义Controller里面的日志输出。学习目标:CRD加上几个自定义字段,使用kubebuilder重新构建,重新部署。操作步骤:第1步:修改guestbook_types.go文件,把GuestbookSpec与GuestbookStatus结

2022-04-01 12:14:57 1784

原创 kubebuilder实践笔记(1) - CentOS 7 安装kubebuilder

kubebuilder的安装非常简单第1步:下载 kubebuilder v3.3.0版本。https://github.com/kubernetes-sigs/kubebuilder/releases/download/v3.3.0/kubebuilder_linux_amd64上面网站不太给力,我用CURL下载,失败了3次。改为用迅雷下载,然后通过FTP上传到linux服务器上。第2步:放入到/usr/local/bin,重命名,授权。[root@workstatio.

2022-03-31 19:59:52 1082

原创 kubebuilder实践笔记(2) - 入门体验

今天使用kubebuilder,在kubernetes集群之外跑起了一个自定义controller,整理笔记如下。目标:1)学习使用kubebuilder创建工程,运行工程。2)创建CDR(自定资源定义),CR(自定资源)3)修改CR(自定资源),自定义controller能感知。环境说明:1) 我已经搭建好K8S集群,在集群外有一台workstation机,今天的所有操作在workstation上完成。2) workstation上已安装kubebuiler,go语言。

2022-03-31 16:28:12 1144

jd-gui-0.3.3 - 一个很好的Java反编译工具,可以一次反编译Jar文件

一个很好的Java反编译工具,可以一次反编译Jar文件。 绿色,无需安安装。 本人已试过,在Win7下运行能很好地运行。 官网: http://java.decompiler.free.fr

2011-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除