简单4步,即可在mac上使用k3s部署Jenkins流水线
admin
2023-03-30 12:41:31
0

在上篇文章中,我们已经在mac上成功运行k3s了。那么,今天我们更进一步,在上面部署Jenkins流水线,正好看看k3s实际使用状况如何。
 
 

简单4步,即可在mac上使用k3s部署Jenkins流水线
  
和昨天的步骤类似,但是VM的内存设置不同:
 
 
1、 准备Multipass VM和安装k3s
 
 

让我们创建一个2GB内存和50GB磁盘的VM
  

multipass launch --name k3s --mem 2G --disk 50G

  
安装k3s的方法也是一样的,但是你需要时刻检查正在运行的脚本
  

multipass exec k3s -- sh -c "curl -sfL https://get.k3s.io | sh -"

  
复制kubeconfig文件到主机
  

multipass copy-files k3s:/etc/rancher/k3s/k3s.yaml .

  
使用命令:multipass info k3s,列出k3s的信息,以获取IP地址,将服务器地址从https://localhost:6443 替换为https://192.168.64.5:6443 ,导出kubeconfig,确认节点是否正常工作。
  

现在我们已经准备好开发k3s的环境。我们不需要进入VM,因为主机的kubectl命令行已经够用了。
  
2、 动态存储类
 

 
我们需要提供动态存储,以便完成一些实际工作。我们使用local volume provisioner(https://github.com/rancher/local-path-provisioner )来达成这一目的。下载yaml文件并在使用之前检查一下。
  

curl -LO https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml

  
应用它并修改此类存储类为默认存储。
  

kubectl apply -f local-path-storage.yaml
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

  
现在我们已经准备好动态存储类了。
  
3、 部署Jenkins Helm Chart

  

k3s通过提供CRD来实现内置支持HelmChart。我们不需要部署tiller组件,甚至不需要helm命令。

  

让我们根据以下代码创建一个HelmChart CRD
  

apiVersion: k3s.cattle.io/v1
kind: HelmChart
metadata:
  name: jenkins
  namespace: kube-system
spec:
  chart: stable/jenkins
  targetNamespace: jenkins
  valuesContent: |-
    Master:
      AdminUser: {{ .adminUser }}
      AdminPassword: {{ .adminPassword }}
    rbac:
      install: true

  
请注意,在元数据中的命名空间用于HelmChart对象。k3s在kube-sysytem中监控CRD对象,如果创建了任一新的HelmChart对象,将启动Helm安装job。

  

Chart定义要部署哪个repo和Helm Chart。Jenkins应该位于目标命名空间中。我没有使用readme示例中的“set”关键字,而是使用valuesContent,这样可以在其中应用与Chart的value.yaml文件相同的格式。

  

无需改变Jenkins,将文件另存为jenkins.yaml。创建目标命名空间,并将其作为Kubernetes对象yaml文件应用它。
  

kubectl create ns jenkins
kubectl apply -f jenkins.yaml

  
开始监控Helm安装job
  

kubectl -n kube-system get pods
NAME                            READY   STATUS      RESTARTS   AGE
coredns-7748f7f6df-g6rgw        1/1     Running     0          138m
helm-install-jenkins-txxjn      0/1     Completed   0          111m
helm-install-traefik-bnc5x      0/1     Completed   0          138m
svclb-traefik-b65f58f65-rxllp   2/2     Running     0          138m
traefik-5cc8776646-nfclx        1/1     Running     0          138m

  
验证PVC是否绑定
  

kubectl -n jenkins get pvc
NAME      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
jenkins   Bound    pvc-18988281-4d45-11e9-b75c-5ef9efd9374c   8Gi        RWO            local-path     113m

  
同时还要验证pod是否正在运行。
  

kubectl -n jenkins get pods
NAME                             READY   STATUS    RESTARTS   AGE
jenkins-6b6f58bc8d-hbf4r         1/1     Running   0          113m
svclb-jenkins-74fdf6b9f4-zxnwz   1/1     Running   0          113m

  
4、 访问Jenkins
  
寻找service port
  

kubectl -n jenkins get svc
NAME            TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)          AGE
jenkins         LoadBalancer   10.43.75.62    192.168.64.5   8080:30254/TCP   115m
jenkins-agent   ClusterIP      10.43.239.13            50000/TCP        115m

  
现在,我们可以通过 http://192.168.64.5:8080. 访问Jenkins,如下所示:
  
简单4步,即可在mac上使用k3s部署Jenkins流水线
  
如果你还想了解更多关于k3s的使用技巧,欢迎参加10月26日在深圳举办的k3s线下workshop,将由Rancher Labs资深架构师为你详细介绍k3s的功能、特性以及使用场景,并进行现场demo,还会带你一起用自己的笔记本搭建k3s集群噢。点击此处,赶紧报名吧!
  

欢迎添加小助手(×××:×××),进官方技术群,了解更多Kubernetes使用攻略

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...