k8s-day07

[TOC]

1. 部署maven

#在200主机上面部署maven 
[root@gcc-200 ~]# ll apache-maven-3.6.1-bin.tar.gz 
-rw-r--r-- 1 root root 9136463 May  6 20:14 apache-maven-3.6.1-bin.tar.gz
[root@gcc-200 ~]# 
[root@gcc-200 ~]# 
[root@gcc-200 ~]# ll -h apache-maven-3.6.1-bin.tar.gz
-rw-r--r-- 1 root root 8.8M May  6 20:14 apache-maven-3.6.1-bin.tar.gz
[root@gcc-200 ~]# mkdir /data/nfs-volume/jenkins_home/maven-3.6.1-8u232
[root@gcc-200 ~]# tar xf apache-maven-3.6.1-bin.tar.gz -C /data/nfs-volume/jenkins_home/maven-3.6.1-8u232
[root@gcc-200 ~]# mv /data/nfs-volume/jenkins_home/maven-3.6.1-8u232/apache-maven-3.6.1/*  /data/nfs-volume/jenkins_home/maven-3.6.1-8u232
[root@gcc-200 ~]# ll /data/nfs-volume/jenkins_home/maven-3.6.1-8u232
total 28
-rw-r--r-- 1  501 games 13437 Apr  5  2019 LICENSE
-rw-r--r-- 1  501 games   182 Apr  5  2019 NOTICE
-rw-r--r-- 1  501 games  2533 Apr  5  2019 README.txt
drwxr-xr-x 2 root root      6 Jun 12 14:44 apache-maven-3.6.1
drwxr-xr-x 2 root root     97 Jun 12 14:44 bin
drwxr-xr-x 2 root root     42 Jun 12 14:44 boot
drwxr-xr-x 3  501 games    63 Apr  5  2019 conf
drwxr-xr-x 4  501 games  4096 Jun 12 14:44 lib

[root@gcc-200 ~]# cd /data/nfs-volume/jenkins_home/maven-3.6.1-8u232/conf/
[root@gcc-200 /data/nfs-volume/jenkins_home/maven-3.6.1-8u232/conf]# ll
total 16
drwxr-xr-x 2 501 games    37 Jun 12 14:44 logging
-rw-r--r-- 1 501 games 10211 Apr  5  2019 settings.xml
-rw-r--r-- 1 501 games  3645 Apr  5  2019 toolchains.xml
[root@gcc-200 /data/nfs-volume/jenkins_home/maven-3.6.1-8u232/conf]# vim settings.xml
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
  </mirrors>

2. 制作Dubbo微服务的底包镜像

jre

#200主机
#下载镜像
[root@gcc-200 ~]# docker pull docker.io/stanleyws/jre8:8u112
[root@gcc-200 ~]# docker images | grep jre
stanleyws/jre8                     8u112                      fa3a085d6ef1        3 years ago         363MB
[root@gcc-200 ~]# docker tag fa3a085d6ef1  harbor.od.com/public/jre8:8u112
[root@gcc-200 ~]# docker push harbor.od.com/public/jre8:8u112
The push refers to repository [harbor.od.com/public/jre8]
0690f10a63a5: Layer already exists 
c843b2cf4e12: Layer already exists 
fddd8887b725: Layer already exists 
42052a19230c: Layer already exists 
8d4d1ab5ff74: Layer already exists 
8u112: digest: sha256:733087bae1f15d492307fca1f668b3a5747045aad6af06821e3f64755268ed8e size: 1367
[root@gcc-200 ~]# 

#编写dockerfile
[root@gcc-200 ~]# mkdir  /data/dockerfile/jre8
[root@gcc-200 ~]# cd /data/dockerfile/jre8
[root@gcc-200 /data/dockerfile/jre8]# vim Dockerfile
[root@gcc-200 /data/dockerfile/jre8]# cat Dockerfile
FROM harbor.od.com/public/jre8:8u112
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\
    echo 'Asia/Shanghai' >/etc/timezone
ADD config.yml /opt/prom/config.yml
ADD jmx_javaagent-0.3.1.jar /opt/prom/
WORKDIR /opt/project_dir
ADD entrypoint.sh /entrypoint.sh
CMD ["/entrypoint.sh"]


#准备相关文件  
[root@gcc-200 /data/dockerfile/jre8]# cat config.yml
---
rules:
  - pattern: '.*'


[root@gcc-200 /data/dockerfile/jre8]# wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar -O jmx_javaagent-0.3.1.jar

[root@gcc-200 /data/dockerfile/jre8]# cat entrypoint.sh
#!/bin/sh
M_OPTS="-Duser.timezone=Asia/Shanghai -javaagent:/opt/prom/jmx_javaagent-0.3.1.jar=$(hostname -i):${M_PORT:-"12346"}:/opt/prom/config.yml"
C_OPTS=${C_OPTS}
JAR_BALL=${JAR_BALL}
exec java -jar ${M_OPTS} ${C_OPTS} ${JAR_BALL}
[root@gcc-200 /data/dockerfile/jre8]# chmod +x  entrypoint.sh 
[root@gcc-200 /data/dockerfile/jre8]# docker  build  .  -t  harbor.od.com/base/jre8:8u112
[root@gcc-200 /data/dockerfile/jre8]# docker push  harbor.od.com/base/jre8:8u112

3. 交付Dubbo微服务提供者

部署提供者  

pipeline {
  agent any 
    stages {
      stage('pull') { //get project code from repo 
        steps {
          sh "git clone ${params.git_repo} ${params.app_name}/${env.BUILD_NUMBER} && cd ${params.app_name}/${env.BUILD_NUMBER} && git checkout ${params.git_ver}"
        }
      }
      stage('build') { //exec mvn cmd
        steps {
          sh "cd ${params.app_name}/${env.BUILD_NUMBER}  && /var/jenkins_home/maven-${params.maven}/bin/${params.mvn_cmd}"
        }
      }
      stage('package') { //move jar file into project_dir
        steps {
          sh "cd ${params.app_name}/${env.BUILD_NUMBER} && cd ${params.target_dir} && mkdir project_dir && mv *.jar ./project_dir"
        }
      }
      stage('image') { //build image and push to registry
        steps {
          writeFile file: "${params.app_name}/${env.BUILD_NUMBER}/Dockerfile", text: """FROM harbor.od.com/${params.base_image}
ADD ${params.target_dir}/project_dir /opt/project_dir"""
          sh "cd  ${params.app_name}/${env.BUILD_NUMBER} && docker build -t harbor.od.com/${params.image_name}:${params.git_ver}_${params.add_tag} . && docker push harbor.od.com/${params.image_name}:${params.git_ver}_${params.add_tag}"
        }
      }
    }
}



[root@gcc-21 ~]# kubectl create ns  app
namespace/app created
[root@gcc-21 ~]# kubectl  create secret  docker-registry harbor  --docker-server=harbor.od.com  --docker-username=admin --docker-password=12345  -n app
secret/harbor created

[root@gcc-11 ~]# cd /opt/zookeeper
[root@gcc-11 /opt/zookeeper]# cd bin/
[root@gcc-11 /opt/zookeeper/bin]# ./zkServer.sh  status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[root@gcc-11 /opt/zookeeper/bin]# 
[root@gcc-11 /opt/zookeeper/bin]# ./zkCli.sh  -server localhost:2181

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]


#准备k8s资源配置清单
[root@gcc-200 /data/k8s-yaml]# mkdir dubbo-demo-service
[root@gcc-200 /data/k8s-yaml]# cd dubbo-demo-service

[root@gcc-200 /data/k8s-yaml/dubbo-demo-service]# cat dp.yaml
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: dubbo-demo-service
  namespace: app
  labels: 
    name: dubbo-demo-service
spec:
  replicas: 1
  selector:
    matchLabels: 
      name: dubbo-demo-service
  template:
    metadata:
      labels: 
        app: dubbo-demo-service
        name: dubbo-demo-service
    spec:
      containers:
      - name: dubbo-demo-service
        image: harbor.od.com/app/dubbo-demo-service:master_200612_1535
        ports:
        - containerPort: 20880
          protocol: TCP
        env:
        - name: JAR_BALL
          value: dubbo-server.jar
        imagePullPolicy: IfNotPresent
      imagePullSecrets:
      - name: harbor
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      securityContext: 
        runAsUser: 0
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate: 
      maxUnavailable: 1
      maxSurge: 1
  revisionHistoryLimit: 7
  progressDeadlineSeconds: 600


#检查zk

[zk: localhost:2181(CONNECTED) 1] ls /
[dubbo, zookeeper]

4. 部署Dubbo-monitor工具

[root@gcc-200 ~]# unzip  -q  dubbo-monitor-master.zip 
[root@gcc-200 ~]# mv dubbo-monitor-master dubbo-monitor       
[root@gcc-200 ~]# cd dubbo-monitor
[root@gcc-200 ~/dubbo-monitor]# cd dubbo-monitor-simple/conf/
[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple/conf]# ll
total 4
-rw-r--r-- 1 root root 1172 Jul 27  2016 dubbo_origin.properties
[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple/conf]# vi dubbo_origin.properties 

dubbo.container=log4j,spring,registry,jetty
dubbo.application.name=dubbo-monitor
dubbo.application.owner=OldboyEdu
dubbo.registry.address=zookeeper://zk1.od.com:2181?backup=zk2.od.com:2181,zk3.od.com:2181
dubbo.protocol.port=20880
dubbo.jetty.port=8080
dubbo.jetty.directory=/dubbo-monitor-simple/monitor
dubbo.charts.directory=/dubbo-monitor-simple/charts
dubbo.statistics.directory=/dubbo-monitor-simple/statistics
dubbo.log4j.file=logs/dubbo-monitor-simple.log
dubbo.log4j.level=WARN

[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple/conf]# cd .. 
[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple]# ll
total 4
drwxr-xr-x 2 root root  104 Jul 27  2016 bin
drwxr-xr-x 2 root root   37 Jun 12 16:30 conf
drwxr-xr-x 2 root root 4096 Jul 27  2016 lib
[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple]# cd bin/
[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple/bin]# ll
total 24
-rwxr-xr-x 1 root root 2144 Jul 27  2016 dump.sh
-rwxr-xr-x 1 root root   49 Jul 27  2016 restart.sh
-rwxr-xr-x 1 root root  413 Jul 27  2016 server.sh
-rwxr-xr-x 1 root root  794 Jul 27  2016 start.bat
-rwxr-xr-x 1 root root 3112 Jul 27  2016 start.sh
-rwxr-xr-x 1 root root  836 Jul 27  2016 stop.sh
[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple/bin]# vim start.sh 

if [ -n "$BITS" ]; then
    JAVA_MEM_OPTS=" -server -Xmx128m -Xms128m -Xmn32m -XX:PermSize=16m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
else
    JAVA_MEM_OPTS=" -server -Xms128m -Xmx128m -XX:PermSize=16m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
fi

echo -e "Starting the $SERVER_NAME ...\c"
exec java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 

#剩下全部删除  

[root@gcc-200 ~/dubbo-monitor/dubbo-monitor-simple/bin]# cd
[root@gcc-200 ~]# 
[root@gcc-200 ~]# 
[root@gcc-200 ~]# cp -a dubbo-monitor  /data/dockerfile/
[root@gcc-200 ~]# cd /data/dockerfile/
[root@gcc-200 /data/dockerfile]# ll
total 0
drwxr-xr-x 3 root root 69 Jul 27  2016 dubbo-monitor
drwxr-xr-x 2 root root 78 Jun 11 16:37 jenkins
drwxr-xr-x 2 root root 94 Jun 12 15:02 jre8
[root@gcc-200 /data/dockerfile]# cd dubbo-monitor/
[root@gcc-200 /data/dockerfile/dubbo-monitor]# ll
total 8
-rw-r--r-- 1 root root 155 Jul 27  2016 Dockerfile
-rw-r--r-- 1 root root  16 Jul 27  2016 README.md
drwxr-xr-x 5 root root  40 Jul 27  2016 dubbo-monitor-simple
[root@gcc-200 /data/dockerfile/dubbo-monitor]# cat Dockerfile 
FROM jeromefromcn/docker-alpine-java-bash
MAINTAINER Jerome Jiang
COPY dubbo-monitor-simple/ /dubbo-monitor-simple/
CMD /dubbo-monitor-simple/bin/start.sh
[root@gcc-200 /data/dockerfile/dubbo-monitor]# docker build . -t  harbor.od.com/infra/dubbo-monitor:latest  
Sending build context to Docker daemon  26.21MB
Step 1/4 : FROM jeromefromcn/docker-alpine-java-bash
latest: Pulling from jeromefromcn/docker-alpine-java-bash
Image docker.io/jeromefromcn/docker-alpine-java-bash:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/
420890c9e918: Pull complete 
a3ed95caeb02: Pull complete 
4a5cf8bc2931: Pull complete 
6a17cae86292: Pull complete 
4729ccfc7091: Pull complete 
Digest: sha256:658f4a5a2f6dd06c4669f8f5baeb85ca823222cb938a15cfb7f6459c8cfe4f91
Status: Downloaded newer image for jeromefromcn/docker-alpine-java-bash:latest
 ---> 3114623bb27b
Step 2/4 : MAINTAINER Jerome Jiang
 ---> Running in dd8ba9c43ff4
Removing intermediate container dd8ba9c43ff4
 ---> 7c2072e7d56d
Step 3/4 : COPY dubbo-monitor-simple/ /dubbo-monitor-simple/
 ---> b12f124df5b9
Step 4/4 : CMD /dubbo-monitor-simple/bin/start.sh
 ---> Running in 31832a25f320
Removing intermediate container 31832a25f320
 ---> c2a5702338f3
Successfully built c2a5702338f3
Successfully tagged harbor.od.com/infra/dubbo-monitor:latest
[root@gcc-200 /data/dockerfile/dubbo-monitor]# docker push  harbor.od.com/infra/dubbo-monitor:latest
The push refers to repository [harbor.od.com/infra/dubbo-monitor]
c29848389643: Pushed 
6c05aa02bec9: Layer already exists 
1bdff01a06a9: Layer already exists 
5f70bf18a086: Layer already exists 
e271a1fb1dfc: Layer already exists 
c56b7dabbc7a: Layer already exists 
latest: digest: sha256:fb63fe22fddb7a807b087a67341d55454c1824e8c356b312ed68a551e16546dd size: 2400
[root@gcc-200 /data/dockerfile/dubbo-monitor]# 


#准备k8s资源配置清单
[root@czlc0-200 /data/dockerfile/dubbo-monitor]# cd /data/k8s-yaml/
[root@czlc0-200 /data/k8s-yaml]# 
[root@czlc0-200 /data/k8s-yaml]# mkdir dubbo-monitor
[root@czlc0-200 /data/k8s-yaml]# cd dubbo-monitor

[root@gcc-200 /data/k8s-yaml/dubbo-monitor]# cat dp.yaml 
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: dubbo-monitor
  namespace: infra
  labels: 
    name: dubbo-monitor
spec:
  replicas: 1
  selector:
    matchLabels: 
      name: dubbo-monitor
  template:
    metadata:
      labels: 
        app: dubbo-monitor
        name: dubbo-monitor
    spec:
      containers:
      - name: dubbo-monitor
        image: harbor.od.com/infra/dubbo-monitor:latest
        ports:
        - containerPort: 8080
          protocol: TCP
        - containerPort: 20880
          protocol: TCP
        imagePullPolicy: IfNotPresent
      imagePullSecrets:
      - name: harbor
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      securityContext: 
        runAsUser: 0
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate: 
      maxUnavailable: 1
      maxSurge: 1
  revisionHistoryLimit: 7
  progressDeadlineSeconds: 600



[root@czlc0-200 /data/k8s-yaml/dubbo-monitor]# cat svc.yaml 
kind: Service
apiVersion: v1
metadata: 
  name: dubbo-monitor
  namespace: infra
spec:
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080
  selector: 
    app: dubbo-monitor


[root@czlc0-200 /data/k8s-yaml/dubbo-monitor]# cat ingress.yaml 
kind: Ingress
apiVersion: extensions/v1beta1
metadata: 
  name: dubbo-monitor
  namespace: infra
spec:
  rules:
  - host: dubbo-monitor.od.com
    http:
      paths:
      - path: /
        backend: 
          serviceName: dubbo-monitor
          servicePort: 8080


[root@gcc-200 /data/k8s-yaml/dubbo-monitor]# ll
total 12
-rw-r--r-- 1 root root 932 Jun 12 16:41 dp.yaml
-rw-r--r-- 1 root root 265 Jun 12 16:42 ingress.yaml
-rw-r--r-- 1 root root 186 Jun 12 16:42 svc.yaml


#应用资源配置清单  
[root@gcc-21 ~]# kubectl  create -f http://k8s-yaml.od.com/dubbo-monitor/dp.yaml
deployment.extensions/dubbo-monitor created
[root@gcc-21 ~]# kubectl  create -f http://k8s-yaml.od.com/dubbo-monitor/svc.yaml
service/dubbo-monitor created
[root@gcc-21 ~]# kubectl  create -f http://k8s-yaml.od.com/dubbo-monitor/ingress.yaml
ingress.extensions/dubbo-monitor created


#dns解析
[root@gcc-11 /opt/zookeeper/bin]# cat /var/named/od.com.zone
$ORIGIN od.com.
$TTL 600    ; 10 minutes
@           IN SOA    dns.od.com. dnsadmin.od.com. (
                2019060408 ; serial
                10800      ; refresh (3 hours)
                900        ; retry (15 minutes)
                604800     ; expire (1 week)
                86400      ; minimum (1 day)
                )
                NS   dns.od.com.
$TTL 60    ; 1 minute
dns                A    10.0.0.11
harbor             A    10.0.0.200
k8s-yaml           A    10.0.0.200
traefik            A    10.0.0.10
dashboard          A    10.0.0.10
zk1                A    10.0.0.11
zk2                A    10.0.0.12
zk3                A    10.0.0.21
jenkins            A    10.0.0.10
dubbo-monitor       A    10.0.0.10
[root@gcc-11 /opt/zookeeper/bin]# systemctl  restart  named
[root@gcc-11 /opt/zookeeper/bin]# dig -t A  dubbo-monitor.od.com  @10.0.0.11  +short
10.0.0.10

5. 交付Dubbo服务消费者

[root@gcc-200 /data/k8s-yaml]# mkdir dubbo-demo-consumer
[root@gcc-200 /data/k8s-yaml]# cd dubbo-demo-consumer

#准备k8s资源配置清单
[root@gcc-200 /data/k8s-yaml/dubbo-demo-consumer]# cat dp.yaml 
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: dubbo-demo-consumer
  namespace: app
  labels: 
    name: dubbo-demo-consumer
spec:
  replicas: 1
  selector:
    matchLabels: 
      name: dubbo-demo-consumer
  template:
    metadata:
      labels: 
        app: dubbo-demo-consumer
        name: dubbo-demo-consumer
    spec:
      containers:
      - name: dubbo-demo-consumer
        image: harbor.od.com/app/dubbo-demo-consumer:master_200612_1700
        ports:
        - containerPort: 8080
          protocol: TCP
        - containerPort: 20880
          protocol: TCP
        env:
        - name: JAR_BALL
          value: dubbo-client.jar
        imagePullPolicy: IfNotPresent
      imagePullSecrets:
      - name: harbor
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      securityContext: 
        runAsUser: 0
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate: 
      maxUnavailable: 1
      maxSurge: 1
  revisionHistoryLimit: 7
  progressDeadlineSeconds: 600



[root@czlc0-200 /data/k8s-yaml/dubbo-demo-consumer]# cat svc.yaml 
kind: Service
apiVersion: v1
metadata: 
  name: dubbo-demo-consumer
  namespace: app
spec:
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080
  selector: 
    app: dubbo-demo-consumer
[root@czlc0-200 /data/k8s-yaml/dubbo-demo-consumer]# cat ingress.yaml 
kind: Ingress
apiVersion: extensions/v1beta1
metadata: 
  name: dubbo-demo-consumer
  namespace: app
spec:
  rules:
  - host: demo.od.com
    http:
      paths:
      - path: /
        backend: 
          serviceName: dubbo-demo-consumer
          servicePort: 8080


[root@gcc-200 /data/k8s-yaml/dubbo-demo-consumer]# ll
total 12
-rw-r--r-- 1 root root 1054 Jun 12 17:05 dp.yaml
-rw-r--r-- 1 root root  266 Jun 12 17:05 ingress.yaml
-rw-r--r-- 1 root root  196 Jun 12 17:05 svc.yaml


#应用资源配置清单 
[root@gcc-21 ~]# kubectl  create -f http://k8s-yaml.od.com/dubbo-demo-consumer/dp.yaml
deployment.extensions/dubbo-demo-consumer created
[root@gcc-21 ~]# kubectl  create -f http://k8s-yaml.od.com/dubbo-demo-consumer/svc.yaml
service/dubbo-demo-consumer created
[root@gcc-21 ~]# kubectl  create -f http://k8s-yaml.od.com/dubbo-demo-consumer/ingress.yaml
ingress.extensions/dubbo-demo-consumer created


#DNS解析
[root@gcc-11 /opt/zookeeper/bin]# cat /var/named/od.com.zone
$ORIGIN od.com.
$TTL 600    ; 10 minutes
@           IN SOA    dns.od.com. dnsadmin.od.com. (
                2019060409 ; serial
                10800      ; refresh (3 hours)
                900        ; retry (15 minutes)
                604800     ; expire (1 week)
                86400      ; minimum (1 day)
                )
                NS   dns.od.com.
$TTL 60    ; 1 minute
dns                A    10.0.0.11
harbor             A    10.0.0.200
k8s-yaml           A    10.0.0.200
traefik            A    10.0.0.10
dashboard          A    10.0.0.10
zk1                A    10.0.0.11
zk2                A    10.0.0.12
zk3                A    10.0.0.21
jenkins            A    10.0.0.10
dubbo-monitor       A    10.0.0.10
demo             A    10.0.0.10

[root@gcc-11 /opt/zookeeper/bin]# systemctl  restart  named
[root@gcc-11 /opt/zookeeper/bin]# dig -t A  demo.od.com  @10.0.0.11  +short
10.0.0.10

6. 简历撰写


专业技能 

精通Redhat及CentOS系列操作系统常规管理 

精通Shell编程 

精通Linux文本处理工具(AWK、GREP、SED、FIND)

精通互联网企业主流架构:LAMP、LNMP等

熟练企业主流数据库服务:MySQL、MariaDB、Redis、MongoDB、ES等 

熟练企业主流监控软件:Zabbix、能够结合Grafana渲染出图。

熟悉企业主流服务:Apache、Nginx、Jumpserver、Keepalived、Tomcat、NFS

熟悉企业自动化工具服务:Ansiable、SaltStack等。

熟悉企业代码上线服务架构:Git+Gitlab+Jenkins

熟悉企业主流虚拟化服务:Kvm、Docker、K8S等

熟悉企业主流日志分析工具:ELK

了解Python语言,目前正在自学研究中。


项目经历:   4-6个

    项目名称: 数据库主从复制  

    项目时间:

    项目背景:

    项目规划: 

    项目结果:


工作经历:

    三年写两家    
    2019年03月-至今       公司名称     职位    公司规模

    主要工作:




    2017年6月-2019年02月   


教育背景:

    2014年09月-2018年06月    毕业院校: xxx学院      专业:分个  


个人介绍:  



使用Boss  拉钩     

周一到周五上午 9:00 - 11:00   按照目标去投   每天投20-50份   

如果有面试机会

面试的要提前到,  稍微打扮自己     态度一定要端正  

技术和态度都是非常重要    


面试之前了解好这个公司的业务 


登记信息     不要写的太详细  

笔试题        开卷   

技术面试    技术相关的问题     按照简历上面的去问,问跟自己公司相关的业务和服务  

总监面试    技术一点点  问的问题比较刁钻   了解这个人  人品 为人处世  

老板面试    谈谈人生。谈谈理想 

人事面试    公司的问题,学校的问题  自己的福利待遇   为什么离职   为什么选择我们公司  谈薪资  是否单身

怎么看待加班
Copyright © 高程程 all right reserved,powered by Gitbook修订于: 2021-05-18 21:14:48

results matching ""

    No results matching ""