美文网首页
5.k8s 运行Jenkins及dubbo生产者、消费者及dub

5.k8s 运行Jenkins及dubbo生产者、消费者及dub

作者: 哆啦A梦_ca52 | 来源:发表于2019-12-06 18:56 被阅读0次

https://mirrors.tuna.tsinghua.edu.cn/
清华大学镜像源

下载
用这个镜像
root@master:~# docker images | grep harbor.wyh.net/baseimages/linux37-centos7.6-jdk
harbor.wyh.net/baseimages/linux37-centos7.6-jdk                              8u212               78c62ab880f6        6 days ago          949MB
修改名称
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# mv jenkins.war jenkins-2.190.1.war
修改镜像地址
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# vim Dockerfile 
#Jenkins Version 2.164.3
FROM harbor.wyh.net/baseimages/linux37-centos7.6-jdk:8u212   
MAINTAINER zhangshijie zhangshijie@magedu.net
ADD jenkins-2.190.1.war /apps/jenkins/
ADD run_jenkins.sh /usr/bin/
EXPOSE 8080
CMD ["/bin/run_jenkins.sh"]
增加可执行权限
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# chmod a+x *.sh
修改版本号
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# vim run_jenkins.sh 
#!/bin/bash
cd /apps/jenkins && java -server -Xms1024m -Xmx1024m -Xss512k -jar jenkins-2.190.1.war --webroot=/apps/jenkins/jenkins-data --httpPort=8080
修改镜像地址
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# vim build-command.sh 
#!/bin/bash
docker build -t  harbor.wyh.net/linux37/jenkins:v2.190.1 .
echo "镜像制作完成,即将上传至Harbor服务器"
sleep 1
docker push harbor.wyh.net/linux37/jenkins:v2.190.1
echo "镜像上传完成"
执行基础镜像
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# bash build-command.sh 
后台运行
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# docker run -it -d -p 8901:8080 harbor.wyh.net/linux37/jenkins:v2.190.1 
进入到容器里
root@master:/opt/k8s-data/dockerfile/linux37/jenkins# docker exec -it 69d50f8ab2d1f177c29f2fa3c7f86a521bbce609a6063590895347498f644c7a bash

把/root/.jenkins/放在后段存储上
[root@69d50f8ab2d1 ~]# ls /apps/jenkins/jenkins-data/
这个jenkins数据放在后段存储上
请从本地复制密码并粘贴到下面。
[root@a4289d376b5e yum.repos.d]# cat /root/.jenkins/secrets/initialAdminPassword
df95025a534e43cb8ad7dbdde7d928ff


访问端口

创建两个数据目录


root@haproxy1:~# mkdir /data/k8sdata/linux37/jenkins-root-data
root@haproxy1:~# mkdir /data/k8sdata/linux37/jenkins-data

修改镜像地址
root@master:/opt/k8s-data/yaml/linux37/jenkins# vim /opt/k8s-data/yaml/linux37/jenkins/jenkins.yaml
 20         image: harbor.wyh.net/linux37/jenkins:v2.190.1
修改nfs服务器地址
root@master:/opt/k8s-data/yaml/linux37/jenkins/pv# vim jenkins-persistentvolume.yaml 
---
apiVersion: v1
kind: PersistentVolume
metadata:
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-datadir-pv
  namespace: linux37
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.200.201
    path: /data/k8sdata/linux37/jenkins-data

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-root-datadir-pv
  namespace: linux37
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.200.201
    path: /data/k8sdata/linux37/jenkins-root-data

root@master:/opt/k8s-data/yaml/linux37/jenkins/pv# vim jenkins-persistentvolumeclaim.yaml 
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jenkins-datadir-pvc
  namespace: linux37
spec:
  volumeName: jenkins-datadir-pv
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 80Gi

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jenkins-root-data-pvc
  namespace: linux37
spec:
  volumeName: jenkins-root-datadir-pv 
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 80Gi

root@master:/opt/k8s-data/yaml/linux37/jenkins/pv# kubectl apply  -f jenkins-persistentvolume.yaml 
先创建pv然后创建pvc
root@master:/opt/k8s-data/yaml/linux37/jenkins/pv# kubectl apply -f .

安装插件

删除jenkins容器

root@master:/opt/k8s-data/yaml/linux37/jenkins/pv# docker ps
CONTAINER ID        IMAGE                                       COMMAND                 CREATED             STATUS              PORTS                    NAMES
a4289d376b5e        harbor.wyh.net/linux37/jenkins:v2.190.1     "/bin/run_jenkins.sh"   45 minutes ago      Up 45 minutes       0.0.
root@master:/opt/k8s-data/yaml/linux37/jenkins/pv# docker rm -fv a4289d376b5e
root@master:/opt/k8s-data/yaml/linux37/jenkins# kubectl apply -f jenkins.yaml 
进入到pod里
root@master:/opt/k8s-data/yaml/linux37/jenkins# kubectl exec -it linux37-jenkins-deployment-6c4b997f8-j2vw5  bash -n linux37
查看挂载信息
[root@linux37-jenkins-deployment-6c4b997f8-j2vw5 /]# df -Th | grep 192
192.168.200.201:/data/k8sdata/linux37/jenkins-root-data nfs4      98G  7.3G   86G   8% /root/.jenkins
192.168.200.201:/data/k8sdata/linux37/jenkins-data      nfs4      98G  7.3G   86G   8% /apps/jenkins/jenkins-data
查看密钥
[root@linux37-jenkins-deployment-6c4b997f8-j2vw5 /]# cat /root/.jenkins/secrets/initialAdminPassword
e6a985ee2ce64436958c16079c496053

把插件拖过去

解压插件,插件有问题

root@haproxy1:/data/k8sdata/linux37/jenkins-root-data/plugins# tar xf jenkins-2.176.3-plugins-day2.tar.gz 
进入pod
[root@linux37-jenkins-deployment-6c4b997f8-j2vw5 /]# java -server -Xms1024m -Xmx1024m -Xss512k -jar jenkins-2.190.1.war --webroot=/ap
启用jenkins
[root@linux37-jenkins-deployment-6c4b997f8-j2vw5 jenkins]# java -server -Xms1024m -Xmx1024m -Xss512k -jar jenkins-2.190.1.war --webroot=/apps/jenkins/jenkins-data --httpPort=8080


修改镜像地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/provider# vim Dockerfile 
#JDK Base Image
FROM harbor.wyh.net/baseimages/linux37-centos7.6-jdk:8u212   
MAINTAINER zhangshijie "zhangshijie@magedu.net"
RUN yum install file nc -y
RUN mkdir -p /apps/dubbo/provider && useradd tomcat
ADD dubbo-demo-provider-2.1.5/  /apps/dubbo/provider
ADD run_java.sh /apps/dubbo/provider/bin
RUN chown tomcat.tomcat /apps -R
修改镜像地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/provider# cat build-command.sh 
#!/bin/bash
docker build -t harbor.wyh.net/linux37/dubbo-demo-provider:v2  .
sleep 3
docker push harbor.wyh.net/linux37/dubbo-demo-provider:v2
查看zookeeper地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/provider/dubbo-demo-provider-2.1.5# kubectl get service -n linux37 | grep zook
zookeeper                     ClusterIP   10.20.240.70    <none>        2181/TCP                                       47h
zookeeper1                    NodePort    10.20.176.109   <none>        2181:42181/TCP,2888:61129/TCP,3888:60205/TCP   47h
zookeeper2                    NodePort    10.20.199.253   <none>        2181:42182/TCP,2888:34907/TCP,3888:63351/TCP   47h
zookeeper3                    NodePort    10.20.67.102    <none>        2181:42183/TCP,2888:49614/TCP,3888:51469/TCP   47h
创建busybox
root@master:/etc/ansible/manifests/dns/kube-dns# kubectl apply -f busybox.yaml 
解析地址
root@master:/etc/ansible/manifests/dns/kube-dns# kubectl exec busybox nslookup zookeeper2
Server:    10.20.254.254
Address 1: 10.20.254.254 kube-dns.kube-system.svc.linux37.local
nslookup: can't resolve 'zookeeper2'
command terminated with exit code 1
修改zookper地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/provider# vim dubbo-demo-provider-2.1.5/conf/dubbo.properties 
 20 dubbo.registry.address=zookeeper://zookeeper1.linux37.svc.linux37.local:2181 | zookeeper://zookeeper2.linux37.svc.linux37.local:2181 | zookeeper://zookeep    er3.linux37.svc.linux37.local:2181
打镜像
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/provider# bash build-command.sh 
修改镜像地址

root@master:/opt/k8s-data/yaml/linux37/dubbo/provider# vim provider.yaml 
 20         image: harbor.wyh.net/linux37/dubbo-demo-provider:v2
创建provider
root@master:/opt/k8s-data/yaml/linux37/dubbo/provider# kubectl apply -f provider.yaml 
进入到pod里
root@master:/opt/k8s-data/yaml/linux37/dubbo/provider# kubectl exec -it   linux37-provider-deployment-5c5565c65b-hrxg9 bash -n linux37
修改zookerp地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/provider# vim dubbo-demo-provider-2.1.5/conf/dubbo.properties
  20 dubbo.registry.address=zookeeper://zookeeper1.linux37.svc.linux37.local:2181 | zookeeper://zookeeper2.linux37.svc.linux37.local:2181 | zookeeper://zookeeper3.linux37.svc.linux    37.local:2181
修改消费者的镜像地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/consumer# vim Dockerfile 
FROM harbor.wyh.net/baseimages/linux37-centos7.6-jdk:8u212  
修改镜像地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/consumer# vim build-command.sh 
#!/bin/bash
docker build -t harbor.wyh.net/linux37/dubbo-demo-consumer:v1  .  
sleep 3
docker push harbor.wyh.net/linux37/dubbo-demo-consumer:v1
执行安装
root@master:/opt/k8s-
data/dockerfile/linux37/dubbo/consumer# bash build-command.sh 
修改镜像地址
root@master:/opt/k8s-data/yaml/linux37/dubbo/consumer# vim consumer.yaml 
 20         image: harbor.wyh.net/linux37/dubbo-demo-consumer:v1
创建pod
root@master:/opt/k8s-data/yaml/linux37/dubbo/consumer# kubectl apply -f consumer.yaml 

[root@linux37-provider-deployment-5c5565c65b-xhmkf log]# cd /apps/dubbo/provider/logs/stdout.log 
查看日志信息
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/consumer# kubectl exec -it linux37-provider-deployment-5c5565c65b-xhmkf bash -n linux37
[root@linux37-provider-deployment-5c5565c65b-xhmkf logs]# tail -f stdout.log 
[08:10:32] Hello world561, request from consumer: /172.31.104.168:50564
这个地址是消费者的pod地址

查看注册的生产者和消费者的信息

修改镜像地址

root@master:/opt/k8s-data/dockerfile/linux37/dubbo/dubboadmin# vim Dockerfile 
FROM harbor.wyh.net/linux37/linux37-centos7.6-tomcat:8.5.45 
修改build地址
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/dubboadmin# vim build-command.sh 
#!/bin/bash
TAG=$1
docker build -t harbor.wyh.net/linux37/dubboadmin:${TAG}  .  
sleep 3
docker push  harbor.wyh.net/linux37/dubboadmin:${TAG}

修改启动脚本的内存大小
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/dubboadmin# vim catalina.sh 

 98 JAVA_OPTS="-server -Xms512m -Xmx512m -Xss512k -Xmn1g -XX:CMSInitiatingOccupancyFraction=65  -XX:+UseFastAccessorMethods -XX:+AggressiveOpts -XX:+Us    eBiasedLocking -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=10 -XX:NewSize=2048M -XX:MaxNewSize=2048M -XX:NewRatio=2 -XX:PermSize=128m -XX:MaxPe    rmSize=512m -XX:CMSFullGCsBeforeCompaction=5 -XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnable    d -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods"
root@master:/opt/k8s-
修改zookper的地址
data/dockerfile/linux37/dubbo/dubboadmin# vim dubboadmin/WEB-INF/dubbo.properties 
dubbo.registry.address=zookeeper://zookeeper1.linux37.svc.linux37.local:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

打镜像
root@master:/opt/k8s-data/dockerfile/linux37/dubbo/dubboadmin# bash build-command.sh v1
修改镜像地址
root@master:/opt/k8s-data/yaml/linux37/dubbo/dubboadmin# vim dubboadmin.yaml 
 19       - name: linux37-dubboadmin-spec
 20         image: harbor.wyh.net/linux37/dubboadmin:v1

创建dubboadmin
root@master:/opt/k8s-data/yaml/linux37/dubbo/dubboadmin# kubectl apply -f dubboadmin.yaml 
进入到pod里
root@master:/opt/k8s-data/yaml/linux37/dubbo/dubboadmin# kubectl exec -it linux37-dubboadmin-deployment-8f95966f6-4xgbj bash -n linux37
查看短裤
[root@linux37-dubboadmin-deployment-8f95966f6-fpmnz /]# ss -tnl
State                      Recv-Q                      Send-Q                                              Local Address:Port                                             Peer Address:Port                      
LISTEN                     0                           1                                                       127.0.0.1:8005                                                  0.0.0.0:*                         
LISTEN                     0                           100                                                       0.0.0.0:8009                                                  0.0.0.0:*                         
LISTEN                     0                           100                                                       0.0.0.0:8080                                                  0.0.0.0:*    


访问dubboadmin账户密码都是root
查看对应都ip地址

相关文章

网友评论

      本文标题:5.k8s 运行Jenkins及dubbo生产者、消费者及dub

      本文链接:https://www.haomeiwen.com/subject/hdergctx.html