- 博客(161)
- 收藏
- 关注
原创 容器部署Jenkins,执行构建任务后,需要执行宿主机上的shell脚本
遇到的问题:使用docker 部署了一个Jenkins ,Jenkins里执行构建,构建后需要执行宿主机上的shell脚本,这种该如何操作呢。怎么可以退出到宿主机执行shell,最开始挂载了Jenkins_home目录,可以找到shell脚本,但是shell脚本比如cp目录都是对应的宿主机的,在容器里是找不到步骤一:Jenkins 下载 Publish over ssh,截图上我已经下载安...
2023-01-05 19:55:00
69
原创 Go 指针
package mainimport "fmt"func main() { var age = 18 //申明一个变量age,值为18 var ptr *int = &age //*int 是指针类型,可以理解为指向int类型的指针;&age 是指针的指向的内存地址 fmt.Println(ptr) //0xc00003df58 fmt.Pri...
2023-01-04 19:51:00
10
原创 Go 字符串转给基础数据类型
package mainimport ( "fmt" "strconv")func main() { var a1 = "20" var a2 = "true" var a3 = "19.862" n1, _ := strconv.Atoi(a1) //字符串转为整型,_ 位标识符,返回的结果有2个,忽略掉第二个,第二个是用于接收error的错误信...
2023-01-03 20:13:00
4
原创 Go 基础数据类型转换为字符串
package mainimport "fmt"func main() { var a1 = 18 var a2 = 10.635 var a3 = false n1 := fmt.Sprintf("%d", a1) n2 := fmt.Sprintf("%f", a2) n3 := fmt.Sprintf("%t", a3) // %T 格式化打印对应的数据类型, ...
2023-01-03 19:24:00
6
原创 Jenkins Master—Slave模式配置
因为目前产品代码不允许跨平台,只能在window环境下编译,所以目前在windows环境下部署测试环境的Jenkins第一步:windows环境下部署Jenkins操作省略(只做slave节点的配置说明)第二步:登录Jenkins,进入DashBoard——Configure Global Security,开启代理端口第三步:进入DashBoard——Manage nodes an...
2023-01-03 16:03:00
45
原创 在centos上以 All-in-One 模式安装 KubeSphere
官网地址https://kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/第一步:安装依赖 socat、conntrackyum install -y socatyum install -y conntrack第二步:下载 KubeKeyexport KKZONE=cncurl -sfL https://get-...
2022-12-26 19:03:00
15
原创 NFS安装制备器Provisioner
NFS subdir 外部驱动https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner第一、添加包仓库地址helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provi...
2022-12-14 16:49:00
36
原创 nfs挂载的目录提示不存在,比如MountVolume.SetUp failed for volume "nfs-client-root" : mount failed: exit status 32...
原因是修改了/etc/exports文件后,需要重新加载配置文件如果新增了一行,挂载了另一个目录,保存配置文件后重启了nfs以为生效了,实际上没有生效使用以下命令可以查询当前生效的配置exportfs重新加载配置文件exportfs -r...
2022-12-14 15:18:00
253
原创 测试Hpa自动扩缩容
一、Hpa设置最大pod副本数为5,最小pod副本数为3平均cpu为10%二、查看当前pod资源消耗`kubectl top pod -n test`三、创建一个service服务,type使用NodePort,方便压测apiVersion: v1kind: Servicemetadata: name: nginx-service namespace: tests...
2022-12-06 17:25:00
270
原创 HPA TARGETS目标显示的unknown
原因是没有为pod设置资源配额CPU、内存的的单位有:正实数,代表分配几颗CPU,可以是小数点,比如0.5代表0.5颗CPU,意思是一 颗CPU的一半时间。2代表两颗CPU。正整数m,也代表1000m=1,所以500m等价于0.5。Mem表示如下:Mi表示(1Mi=10242014),M表示(1M=10001000),其他单位类推(K、M、G、T、P、E)deploy.yam...
2022-12-06 16:19:00
396
原创 开启ipvs模式
如果没有开启的话使用命令ipvsadm -ln开启ipvs模式kubectl edit cm kube-proxy -n kube-system#修改mode 为ipvs再执行命令,如果不行,重启一下服务器。。ipvsadm -ln...
2022-12-01 17:46:00
20
原创 Helm 安装harbor
GitHub地址https://github.com/goharbor/harbor-helm创建nfs存储的目录cd /root/datamkdir harborcd harbormkdir registrymkdir chartmuseummkdir jobservicemkdir databasemkdir redismkdir trivy将共享目录以读...
2022-11-21 20:18:00
384
原创 Helm repo相关命令
一、查看repo的相关帮助文档https://helm.sh/zh/docs/intro/using_helm/helm repo --help二、命令使用查看chart包仓库helm repo list增加chart包仓库https://artifacthub.io/packages/search?kind=0helm repo add XXX名称 地址 查询hel...
2022-11-14 17:57:00
128
原创 Helm安装
一、官网Github下载地址https://github.com/helm/helm/releases二、拷贝到master节点三、解压tar -zxvf helm-v3.10.2-linux-amd64.tar.gz四、把helm剪切到 /usr/local/bin下cd linux-amd64mv helm /usr/local/bin/五、检查`查看版本helm ve...
2022-11-14 17:23:00
78
原创 Dashboard部署
官网https://kubernetes.io/zh-cn/docs/tasks/access-application-cluster/web-ui-dashboard/一、下载资源清单文件上述官网提供的地址无法访问,所以无法直接部署#官方给的地址kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashbo...
2022-11-13 18:28:00
41
原创 生成自签证书
# req 创建和处理证书请求的工具,它还能建立自签名的证书,做RootCA用# -x509 产生自签名的证书,而不是证书请求# -sha256 sha256摘要算法# -nodes 表示私钥不加密,若不带参数将提示输入密码# days 365天# -newkey 创建新的CSR和新的私钥,参数指示私钥算法等信息(类似rsa:1024)# -keyout filename:如果产生了...
2022-11-10 15:51:00
9
原创 ingressClassName
一、ingressClassName作用可以指定ingress controller不能不写,也不能乱写之前部署的ingress-nginx,这里就要写nginx二、由于之前没有添加这个字段,访问的时候报404错误...
2022-11-10 11:56:00
280
原创 Ingress-nginx资源清单
apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: ingress-http namespace: testspec: ingressClassName: nginx-example rules: - host: test.nginx.com http: paths: ...
2022-11-09 19:44:00
606
原创 Ingress安装部署
一、官网介绍https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/二、Ingress是什么?三、ingress-nginx安装https://kubernetes.github.io/ingress-nginx/deploy/yaml安装,官方提供的方式。但是由于无法访问,所以行不通kubectl...
2022-11-09 16:54:00
196
原创 k8s-HorizontalPodAutoscaler(水平自动扩缩)
官网https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/第一、需要部署配置metrics server的集群kubernetes Metrics Server 从集群中的 kubelets 收集资源指标, 并通过 Kubernetes API 公开这些指标,...
2022-11-04 11:36:00
44
原创 pod容忍(toleration)
污点就是拒绝,容忍就是忽略,Node通过污点拒绝pod调度上去,Pod通过容忍忽略拒绝apiVersion: apps/v1kind: Deploymentmetadata: name: my-deployment namespace: testspec: replicas: 1 selector: matchLabels: environment...
2022-11-02 18:46:00
35
原创 pod亲和性(Affinity)清单
apiVersion: apps/v1kind: Deploymentmetadata: name: my-deployment namespace: testspec: replicas: 1 selector: matchLabels: environment: stg template: metadata: labels:...
2022-11-02 17:47:00
10
原创 调整vim Tab键默认空格
背景:方便书写yaml#vim /etc/vimrc# ts=> tabstop :一个TAB字符占多少个空格# sw=> shiftwidth: 每层缩进的空格数set ts=2set sw=2
2022-11-02 15:25:00
21
原创 控制器Deployment资源清单
官网https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/apiVersion: apps/v1kind: Deploymentmetadata: name: my-deployment namespace: testspec: replicas: 1 selector: ...
2022-11-02 11:10:00
320
原创 进入Pod中的容器
查看帮助一、pod中只有1用户容器#只有一个容器时,进入时不需要指定容器,因为就是只有一个# test-pod 为pod名称kubectl exec -it test-pod -n test -- /bin/sh二、pod中有多个用户容器#-c 指定容器#当有多个容器时就必须加上指定容器,确定你想进入的容器名称kubectl exec -it test-pod -c bus...
2022-10-30 12:53:00
604
原创 k8s查看pod镜像
一、心里的疑问k8s创建了pod,pod拉取了nginx 等镜像,然后使用nerdctl images查看到的都是平面管理相关的镜像,那容器里下载的镜像又再哪里可以看见呢,当时这个有这个疑问,然后百度了下,没有找到答案,就先放下了二、问题解惑进入官网寻找答案https://github.com/containerd/nerdctl#readme发现了一句话,扯上了名称空间的关系,然后...
2022-10-28 20:39:00
1548
原创 将主机上的文件拷贝到pod的容器中
官网文档https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#cp例如将主机上的index.html文件拷贝到pod容器中替换nginx首页显示`kubectl cp ./index.html -n test test-pod:/usr/share/nginx/html/`...
2022-10-28 12:02:00
456
原创 创建一个nginx资源清单
注意selector一定要书写正确,否则通过集群IP:端口 或者是节点ip:外部访问端口 都无法访问apiVersion: v1kind: Podmetadata: name: test-pod namespace: test labels: environment: stgspec: containers: - name: my-nginx-contai...
2022-10-27 11:57:00
28
原创 yaml清单demo
apiVersion: v1kind: Podmetadata: name: test-pod namespace: test labels: environment: STGspec: containers: - name: my-nginx-container image: nginx:latest imagePullPolicy: If...
2022-10-27 11:31:00
7
原创 linux查询当前时间
查询当前时间echo $(date)查询当前日期,m为月,d为天,注意date后面有一个空格echo $(date +%Y-%m-%d)格式化输出日期+时分秒echo $(date "+%Y-%m-%d %H:%M:%S")仅查询当前时间的时分秒可以直接使用以下命令echo $(date +%T)...
2022-10-26 19:36:00
994
原创 bash -c 作用
背景在阅读k8s资源配置yaml中,看到command中有-c,如 command: ["/bin/sh","-c","touch /tmp/hello.txt;while true;do /bin/echo $(date +%T) >> /tmp/hello.txt; sleep 3; done;"]作用就是把-c 后面的字符串做为命令使用例如...
2022-10-26 18:45:00
164
原创 Pod资源清单
apiVersion: v1 #必选,版本号,例如v1kind: Pod #必选,资源类型,例如 Podmetadata: #必选,元数据 name: string #必选,Pod名称 namespace: string #Pod所属的命名空间,默认为"default" labels: #自定义标签列表 ...
2022-10-26 17:34:00
11
原创 k8s-Service
一、背景通过pod控制器Deployment创建的一组Pod来提供具有高可用性的服务。虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题:pod重建后,pod的ip会发生变化pod的ip仅仅是集群内可以访问的虚拟ip,外部无法访问因此,kubernetes设计了Service来解决这个问题。Service可以看作是一组同类Pod对外的访问接口。借助Service,...
2022-10-26 17:10:00
6
原创 K8s nodePort、port、targetPort、hostPort
转载:https://blog.csdn.net/chainsmoker_/article/details/1244498901. nodePort外部流量访问k8s集群中service入口的一种方式(另一种方式是LoadBalancer),即nodeIP:nodePort是提供给外部流量访问k8s集群中service的入口。比如外部用户要访问k8s集群中的一个Web应用,那么我们可以配...
2022-10-25 20:56:00
214
原创 k8s-标签(labels)
官网https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/labels/标签(Labels) 是附加到 Kubernetes 对象(比如 Pod)上的键值对。 标签旨在用于指定对用户有意义且相关的对象的标识属性,但不直接对核心系统有语义含义。 标签可以用于组织和选择对象的子集。标签可以在创建时附加到对...
2022-10-25 20:32:00
64
原创 charles中Map、Rewrite、Breakpoints的区别
Charles提供了Map功能、Rewrite功能、Breakpoints功能,都可以达到修改服务器返回内容的目的,这三者的差异是:MapMap功能适合长期的将某些请求重定向到另一个网络地址或本地文件*Map Local功能:将请求的返回重定向到本地文件中*Map Remote功能:将请求的域名重定向到一个网络地址BreakpointsBreakpoints功能适合做临时性的修改,r...
2022-10-25 19:06:00
57
原创 k8s-pod控制器Deployment
在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod一、名称空间主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际...
2022-10-25 19:02:00
32
原创 k8s三种资源管理方式
三种方式命令式对象管理命令式对象配置声明式对象配置三种方式怎么使用创建/更新资源 使用声明式对象配置 kubectl apply -f XXX.yaml删除资源 使用命令式对象配置 kubectl delete -f XXX.yaml查询资源 使用命令式对象管理 kubectl get(describe) 资源名称...
2022-10-24 20:50:00
6
原创 kubectl支持jsonpath
官方:https://kubernetes.io/zh-cn/docs/reference/kubectl/jsonpath/给的JSon{ "kind": "List", "items":[ { "kind":"None", "metadata":{"name":"127.0.0.1"}, "status":{ "ca...
2022-10-24 20:17:00
68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人