devops(三) 节点配置

  • 2020-03-12
  • 85
  • 1

普通节点

普通节点就是直接在宿主机上进行配置的节点.

1.创建节点:

2.配置节点:

3.新增环境变量:

此步骤配置完成后,可以在通过node1节点执行kubectl和docker相应的命令.

点击保存,刷新后,可见node1节点正常在线.

容器节点

为了能够探测和访问集群内部的pod节点,我们需要创建一个由k8s集群管理的pod,如此,可以通过此pod,进行访问集群其他pod容器,进而做其他的Liveprobe等的探测任务.

1.新建一个固定节点,命名为: k8stest

注意配置启动方式,看仔细了.

2.配置tunnel链接位置:

此50000端口就是前面让开放的端口JNLP节点的端口.

3.部署相关的容器.

apiVersion: v1
kind: Service
metadata:
  name: k8stest
  namespace: devops
  labels:
    app: k8stest
spec:
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: http
    nodePort: 7499
  type: NodePort
  selector:
    app: k8stest
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: k8stest
  namespace: devops
spec:
  selector:
    matchLabels:
      app: k8stest
  replicas: 1
  template:
    metadata:
      labels:
        app: k8stest
    spec:
      containers:
      - name: nginx
        image: library/nginx:alpine
        ports:
        - name: http
          containerPort: 80
        volumeMounts:
        - name: devops-persistent-storage
          mountPath: /devops
        - name: devops-persistent-storage
          subPath: prototype
          mountPath: /usr/share/nginx/html/prototype
        - name: devops-persistent-storage
          subPath: docs
          mountPath: /usr/share/nginx/html/docs
        - name: timezone
          mountPath: /etc/localtime
      - name: jenkinsslave
        image: 172.16.8.112:5000/jenkinsslave
        imagePullPolicy: Always
        resources:
          requests:
            cpu: "0.2"
            memory: "256Mi"
          limits:
            cpu: "1"
        volumeMounts:
        - name: devops-persistent-storage
          subPath: prototype
          mountPath: /prototype
        - name: devops-persistent-storage
          subPath: docs
          mountPath: /docs
        - name: devops-persistent-storage
          subPath: k8stest
          mountPath: /opt/jenkins
        - name: timezone
          mountPath: /etc/localtime
        workingDir: /root
        command: ['sh', '-c', 'java -jar agent.jar -jnlpUrl https://172.16.8.51:8888/computer/k8stest/slave-agent.jnlp -secret eae614aa5f105081a3b6a85e710ee99ce687e10b89739f461ad644bced97c315 -workDir "/opt/jenkins"']
      imagePullSecrets:
      - name: regcred
      volumes:
      - name: devops-persistent-storage
        persistentVolumeClaim:
          claimName: devops-pvc
      - name: timezone
        hostPath:
          path: /usr/share/zoneinfo/Asia/Shanghai
---

其中重点关注:
– jenkinsslave容器:此容器我是推送到我们的私有仓库中了.
– jenkinsslave容器启动时运行的command命令:此命令可以在jenkins的控制台查看,直接copy过来即可. 如下图,2种方式的命令都可以.
– 其中的网址就是我们在第二步中配置的 jenkins的url,如果使用域名,此处也会是域名.

OK,配置完成之后,test节点将会恢复正常.

测试一下

普通节点测试

1.创建一个job ,指定运行节点.

2.设定标签,非必须.

3.执行shell命令

4.执行任务:

其中 #2和 #3 均是没有配置[2.设定标签]时输出的构建名称. #4 是设置了标签,所以更直观.

图中带 + 的命令是我们输入的命令,后续是命令的输出.

test节点的使用

1.假设我们现在部署了这些应用,其中服务方式有nodePort和ClusterIp方式.

nodePort方式的服务,我们直接可以使用宿主机+port访问.进行测试服务是否部署成功,但是clusterIP方式的就需要此test节点进行处理.

2.新建一个jenkins任务:

3.添加shell脚本:

  echo "测试cp微服务"
  curl --retry-connrefused --connect-timeout 10 --max-time 30 --retry 10 --retry-delay 60 http://etm-cp.sit:8201/actuator/info
  if [ $? -eq 0 ]
  then
    echo "cp微服务正常."    
  else
    echo "cp微服务失败."
    echo "1" > status
    return 1
  fi  

4.执行任务:

OK,devops平台搭建完成!!!

0

评论