Myluzh Blog

Strive to become a dream architect.

Docker部署Jenkins与创建流水线笔记

2023-11-7 myluzh Docker

0x00 前言 使用docker部署jenkins后使用流水线docker build提示找不到docker命令,找了好久解决了,需要把docker挂载出来。 第二个问题是docker login 私有仓的时候 提示证书不对,需要在配置文件添加下insecure-registries 0x01 jenkins正确部署命令 docker run --name jenkins \ -u root \ --rm -d \ -p 8092:8080 \ -v /var/jenkins_home:/var/jenkins_home \ -v $(which docker):/usr/bin/docker \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/docker/:/etc/docker \ jenkins/jenkins:lts 启动后在本机/etc/docker/daemon.json上添加insecure-regstries里面写上你jenkins流水线do...

阅读全文>>

标签: docker devops cicd jenkins

评论(0) (122)

JDK1.8之前版本使用K8S对Java应用进行资源限制的注意事项

2023-11-7 myluzh Kubernetes

在JDK 1.8之前的版本中,Java本身并不了解Kubernetes中的资源限制,因此如果Java应用程序申请的资源超出了Pod的限制,Kubernetes将直接kill该Pod。 所以需要在Dockerfile中打包镜像时传递环境变量并将其传递给Java命令,可以按照以下步骤进行操作: 第一步:在Dockerfile中设置环境变量 ENV JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08" CMD java -jar $JAVA_OPTS xxx.jar 上述代码将环境变量JAVA_OPTS设置为$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08,并将其传递给Java命令。 第二步:在Kubernetes的YAML文件中设置环境变量和资源限制 apiVersion: v1 kind: Pod metadata: name: your-pod spec: containers: - name: your-container ...

阅读全文>>

标签: k8s java jdk jdk1.8

评论(0) (191)

Docker私有镜像容器仓库-Harbor部署

2023-11-6 myluzh Docker

1、部署docker-compose curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version 2、生成证书 # 生成CA证书私钥 openssl genrsa -out ca.key 4096 # 生成CA证书,harbor.itho.cn为域名地址 openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.itho.cn" \ -key ca.key \ -out ca.crt # 将服务器证书和密匙复制到Harbor主机上的证书文件夹中 cp ca.crt /root/harbor/ca.c...

阅读全文>>

标签: docker 镜像 仓库 harbor 私有

评论(0) (246)

K8S安装flannel报错解决(pods with system-node-critical priorityClass is not permitted in kube-flannel namespace)

2023-10-30 myluzh Kubernetes

0x01 关于部署flannel失败 在上一个过程中,部署高可用k8s集群后,在master节点安装flannel网络插件,部署后没有pod,后面经过分析报错如下: # 在master节点apply kube-flannel.yml 提示所有东西都已经创建了。 [root@k8s-master01 ~]# kubectl apply -f kube-flannel.yml namespace/kube-flannel created clusterrole.rbac.authorization.k8s.io/flannel created clusterrolebinding.rbac.authorization.k8s.io/flannel created serviceaccount/flannel created configmap/kube-flannel-cfg created daemonset.apps/kube-flannel-ds created # 在kube-flannel里面 找不到任何pod [root@k8s-master01 ~]# kubectl g...

阅读全文>>

标签: 故障 k8s cni flannel

评论(0) (327)

K8S笔记-通过kubeadm方式搭建高可用集群(keepalived+haproxy)

2023-10-30 myluzh Kubernetes

0x00 介绍 虚拟ip         172.16.10.20     master.k8s.io         k8s-vip master01     172.16.10.21     master01.k8s.io     master01 master02     172.16.10.22     master02.k8s.io     master02 node01        172.16.10.23     node01.k8s.io...

阅读全文>>

标签: k8s 高可用 keepalived haproxy

评论(0) (224)

K8S笔记-持久化存储(PV和PVC)

2023-10-20 myluzh Kubernetes

0x01 PV PVC概述 PV(PersistentVolume)是对底层的共享存储的一种抽象,由管理员进行创建和配置。它和具体的底层的共享存储技术的实现方式有关,比如Ceph、GlusterFS、NFS等,都是通过插件机制完成与共享存储的对接。 PVC(PersistentVolumeClaim)是Kubernetes中的一个资源对象,用于抽象地申请和管理持久化存储资源。它向POD(容器运行的环境)提供了一个简单、抽象的接口,用于绑定和挂载一个POD所需要的存储卷。POD可以通过PVC来自动配置和使用存储卷。 实现流程: 0x02 申请PVC例子 1、定义一个pv,名字为my-pv [root@k8s-master01 k8s]# vi my-pv.yaml apiVersion: v1 kind: PersistentVolume metadata: name: my-pv spec: capacity: storage: 5Gi # 指定存储容量为 5Gi ...

阅读全文>>

标签: k8s pv pvc

评论(0) (160)