编程知识 cdmana.com

Kubernetes / k8s (4) deployment type YML pulls nexus private server image to create pod

One 、 Building needs preparation

virtual machine ip To configure
k8s-master 192.168.230.127 cpu4/4 above , Memory 8/8 above
k8s-node1 192.168.230.128 cpu4/4 above , Memory 8/8 above
k8s-node2 192.168.230.129 cpu4/4 above , Memory 8/8 above
nexus 192.168.230.130 cpu4/4 above , Memory 4/4 above

Two 、 build Nexus Private server image library

My private service is built on docker Built , So we have to install docker.

  1. install docker

    wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
    yum -y install docker-ce-18.06.1.ce-3.el7
    systemctl enable docker && systemctl start docker
    
    cat > /etc/docker/daemon.json << EOF
    {"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]}
    EOF
    
  2. close seLinux

    sed -i 's/enforcing/disabled/' /etc/selinux/config  #  permanent 
    setenforce 0  #  temporary 
    
  3. install Nexus

    docker search nexus  #  Search for nexus, Choose the one with the most downloads sonatype/nexus3
    docker pull sonatype/nexus3
    docker run -id -u root -p 8081:8081 -p 8082:8082 --privileged=true -v  /opt/nexus-data:/nexus-data --restart=always sonatype/nexus3  
    

    Be careful : To run the mirror command, add -u root and –privileged=true, Otherwise, it will fail .

    explain :
    -d Background operation
    -p Port number mapping 8081 The management interface uses 8082 nexus3 Private use
    -v Folder mapping Private server files are saved to the local folder /opt/nexus-data in
    –restart=alwarys Automatic restart
    sonatype/nexus3 Image name




  4. Neuxs Management tools
    Access with browser ip:8081 Get into Nexus Manage Pages , Click on the Sign in Log in . For the first time login , To the mapping directory (/opt/nexus-data) Find below admin.password, Open to see admin The default password for , Login process according to the prompt to change their own password .

  5. Create storage objects
     Insert picture description here
     Insert picture description here

  6. establish Docker Warehouse
     Insert picture description here
     Insert picture description here
     Insert picture description here
     Insert picture description here



  7. Set the permissions
     Insert picture description here

  8. Check the contents of private server warehouse
     Insert picture description here

3、 ... and 、 utilize DockerFile Create image and upload private server

  1. To configure k8s Set docker Of daemon.json file .

    vi /etc/docker/daemon.json
    {
          "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
          "insecure-registries": ["192.168.230.130:8082"]   # Private clothes are put here ip
    }
    

    restart docker:

    systemctl daemon-reload  # heavy load docker To configure 
    systemctl restart docker    # restart docker service 
    docker info # see docker Information to confirm whether the warehouse is added 
    
  2. The project jar Inclusive DockerFile To create a mirror image .

    To write DockerFile Script code :

    FROM java:8   # base image , If the local warehouse doesn't have , Will pull from the remote warehouse 
    MAINTAINER wei.zhou    # founder 
    ADD demo-0.0.1-SNAPSHOT.jar demo.jar   # The first is jar Package name , The second is to rename the name 
    EXPOSE 8080  # Exposed port 
    ENTRYPOINT ["java","-jar","demo.jar"]
    

    Build a mirror image
    docker build -f Dockerfile file location -t Mirror name : edition . 【 There's a dot at the end , Pay attention to 】

    Here's a look at my previous Kubernetes/k8s( 3、 ... and )k8s establish jar package docker mirrored pod

  3. Log in to the private server and upload the image .

     docker login 192.168.230.130:8082  # Log in to the private server warehouse 
    

    Before publishing, you need to change the image name to the private server address ,
    The format is : Server address : Server port / Image name : edition
    The order is : docker tag Mirror image id(build Good mirror image id) New name of mirror image

    Finally, use the upload command docker push Image name :TAG

    docker push 192.168.230.130:8082/demo:latest
    

     Insert picture description here

Four 、 establish Deployment type yml Create pod

  1. establish secret Secret key

    kubectl create secret docker–registry <regsecret-name> --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>.
    

    Be careful : Each space needs to create its own secret key !
    e.g: --docker-server=192.168.230.130:8082 ( No need to add http://)

  2. yaml Use in imagePullSecrets

    ---
    apiVersion: apps/v1
    
    kind: Deployment
    
    metadata:
    
      name: local-demo
    
      namespace: default
    
    spec:
    
      replicas: 1
    
      selector:
    
        matchLabels:
    
          app: lodemo
    
          release: stabel
    
      template:
    
        metadata:
    
          labels:
    
            app: lodemo
    
            release: stabel
    
            env: test
    
        spec:
          
          imagePullSecrets:
          
          - name: docker-local
    
          containers:
    
          - name: lodemo
    
            image: 192.168.230.130:8082/demo:latest
    
            imagePullPolicy: IfNotPresent
    
            ports:
    
            - name: http
    
              containerPort: 80
    ---
    apiVersion: v1
    
    kind: Service
    
    metadata:
    
      name: lodemo
    
      namespace: default
    
    spec:
    
      type: NodePort
    
      selector:
    
        app: lodemo
    
        release: stabel
    
      ports:
    
      - name: http
    
        port: 8080
    
        targetPort: 8080
    
        nodePort: 30080
    ---
    
    
  3. function yml

    kubectl apply -f xxxx.yml
    

     Insert picture description here
     Insert picture description here
     Insert picture description here

版权声明
本文为[osc_3vp99iw6]所创,转载请带上原文链接,感谢

Scroll to Top