Database
 sql >> база данни >  >> RDS >> Database

Използване на Jenkins с Kubernetes AWS, част 2

В първата от трите статии за автоматизиране на инсталацията на Kubernetes с Jenkins, „Използване на Jenkins с Kubernetes AWS, част 1“, ние създадохме необходимите артефакти и създадохме възел на Jenkins. В тази статия-продължение ще конфигурираме Jenkinsfile за тръбопровод на Jenkins и ще създадем Jenkins pipeline. Тази статия има следните раздели:

  • Конфигуриране на Jenkinsfile
  • Създаване на Jenkins Pipeline
  • Заключение

Създаване на Jenkinsfile

Jenkins Pipeline е конфигуриран в текстов файл, наречен Jenkinsfile в синтаксис на Groovy. Файлът на Дженкинс се състои от стъпки . „Стъпката“ е стъпка за изграждане, инструкция за изпълнение на Дженкинс. Поддържат се два вида стъпки:възел и сцена . „Възелът“ е стъпка от най-високо ниво, която избира изпълнител/и на агент/и за изпълнение на код. Възелът е машина (главен или агент ) и етикет в рамките на стъпката на възела трябва да съвпада с етикет на машината, за да може възелът да избере машината. Стъпката „възел“ създава работно пространство , което е файлова директория, за конкретна работа на Дженкинс за обработка с интензивни ресурси. Стъпката „възел“ също така планира стъпките, дефинирани в нея, в слот на изпълнител, като ги добави към опашката за изграждане на Jenkins. Когато слотът на executor освободи планираните стъпки, изпълнявани от опашката за изграждане.

Създайте файл, наречен Jenkinsfile (без суфикс). Файл без суфикс се създава в Windows със следната команда от командния ред. Обърнете внимание на „.” В края на командата, която трябва да бъде включена.

>notepad Jenkinsfile.

В диалоговия прозорец „Не мога да намеря файла Jenkins. файл. Искате ли да създадете нов файл?" щракнете върху Да. файл на Дженкинс файл се създава. Във файла Jenkinsfile , създайте стъпка от най-високо ниво, наречена „възел“, в която етикетът „jenkins“ е същият като стойността на етикетите, конфигурирана в агента на Jenkins.

node('jenkins') {
}

В рамките на стъпката на възела добавете други стъпки за да инсталирате клъстер Kubernetes. Добавете етапни стъпки за инсталиране на Kubernetes. Процедурата за инсталиране на Kubernetes е добре документирана и няма да бъде обсъждана отново. За справка, „Първи стъпки с Kubernetes на Amazon Web Services (AWS)“ обсъжда подробно процедурата за инсталиране. Командите на Shell се изпълняват с “sh”. Може да бъде поискано въвеждане от потребителя за променливи като брой работници и тип на инстанция.

kube-aws init Командата за инициализиране на стека CloudFormation има името на клъстера, твърдо кодирано като „kubernetes-coreos-cluster“ (произволно име). --external-dns-name е зададено на име на домейн, NOSQLSEARCH.COM , което би било различно за различните потребители. Ключовата двойка EC2 е зададена с --key-name към kubernetes-coreos , който е създаден по-рано. Ключът KMS е зададен на KeyMetadata.Arn низ, генериран по-рано с aws kms команда в --kms-ключа опция. Генерираният Jenkinsfile е посочено по-долу:

node('jenkins') {

stage 'set env'

sh "sudo yum install gnupg2"
sh "gpg2 --keyserver pgp.mit.edu --recv-key FC8A365E"

sh "gpg2 --fingerprint FC8A365E"

sh "wget https://github.com/coreos/coreos-kubernetes/releases/
   download/v0.7.1/kube-aws-linux-amd64.tar.gz"
sh "wget https://github.com/coreos/coreos-kubernetes/releases/
   download/v0.7.1/kube-aws-linux-amd64.tar.gz.sig"

sh "gpg2 --verify kube-aws-linux-amd64.tar.gz.sig kube-aws-linux-
   amd64.tar.gz"

sh "tar zxvf kube-aws-linux-amd64.tar.gz"

sh "sudo mv linux-amd64/kube-aws /usr/local/bin"

sh "export AWS_ACCESS_KEY_ID=AKIAJGFCP4HUFH4453FA"
sh "export AWS_SECRET_ACCESS_KEY=7BaiUETep3zPYrhrzKYpBdwkwVV16
   BTT+pt2/EXF"

sh "aws ec2 create-volume --availability-zone us-east-1c --size 10
   --volume-type gp2"


stage 'kube-aws init'
deleteDir()

sh "mkdir coreos-cluster"
sh "cd coreos-cluster"

sh "kube-aws init
   --cluster-name=kubernetes-coreos-cluster
   --external-dns-name=NOSQLSEARCH.COM
   --region=us-east-1
   --availability-zone=us-east-1c
   --key-name=kubernetes-coreos
   --kms-key-arn='arn:aws:kms:us-east-1:672593526685:key/
     f380f8b3-e93d-4a37-b87f-9ad1dbe909be

'"
stage "kube-aws render"
WORKER_COUNT = input message: 'Number of Nodes',
   parameters: [[$class: 'StringParameterDefinition',
   defaultValue: '3', description: '', name: 'WORKER_COUNT']]
INSTANCE_TYPE = input message: 'Instance Type',
   parameters: [[$class: 'StringParameterDefinition',
   defaultValue: 't2.micro', description: '',
   name: 'INSTANCE_TYPE']]

sh "kube-aws render"
sh "sed -i '''s/#workerCount: 1/workerCount:
   '''$WORKER_COUNT'''/''' cluster.yaml"
sh "sed -i '''s/#workerInstanceType: m3.medium/workerInstanceType:
   '''$INSTANCE_TYPE'''/''' cluster.yaml"
sh "kube-aws validate"

stage "Archive CFN"
step([$class: 'ArtifactArchiver', artifacts: 'cluster.yaml,
   stack-template.json,credentials/*,userdata/*',
   fingerprint: true])

   stage "Deploy Cluster"
   shouldDeploy = input message: 'Should Deploy Cluster?',
      parameters: [[$class: 'ChoiceParameterDefinition',
      choices: 'yesno', description: '', name: 'Deploy']]
   if(shouldDeploy == "yes") {
      echo "Deploying Kubernetes cluster"
      sh "kube-aws up"
      sh "kube-aws status"
      step([$class: 'ArtifactArchiver', artifacts: 'kubeconfig',
         fingerprint: true])
   }
}

Създаване на Jenkins Pipeline

В таблото за управление на Jenkins щракнете върху създаване на нови работни места за да създадете Jenkins Pipeline, както е показано на Фигура 1.


Фигура 1: Изберете „създаване на нови работни места“, за да създадете работа на Дженкинс

В потребителския интерфейс посочете име на тръбопровода (install-kubernetes ), например и изберете Тръбопровод , както е показано на фигура 2. Щракнете върху OK.


Фигура 2: Избиране на Pipeline

Съветникът за конфигуриране на тръбопровода започва, както е показано на фигура 3.


Фигура 3: Съветник за конфигуриране на Jenkins Pipeline

Изберете Тръбопровод раздел. В Дефиниция поле, изберете Скрипт на конвейера опция, както е показано на фигура 4.


Фигура 4: Раздел тръбопровод

Копирайте и поставете файла Jenkins, изброен по-рано. Кликнете върху Запазване , както е показано на фигура 5.


Фигура 5: Конфигуриране на скрипт за конвейер

Създава се нов Jenkins Pipeline (вижте фигура 6).


Фигура 6: Jenkins Pipeline е създаден

Първоначално тръбопроводът не работи и Състояние не трябва да изброява стартирана или стартирана сборка, както е показано на фигура 7.


Фигура 7: Състояние на Jenkins Pipeline

Заключение

В тази статия конфигурирахме Jenkinsfile и използвахме Jenkinsfile, за да създадем тръбопровод на Jenkins. В 3 и заключителна статия за автоматизиране на инсталацията на Kubernetes с Jenkins, ще стартираме конвейера на Jenkins, създаден в тази статия, за да инсталираме Kubernetes. Впоследствие ще тестваме инсталирания клъстер Kubernetes.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на системата за въвеждане и извеждане на Hadoop

  2. Модел на данни за абонамент за SaaS

  3. Как да конвертирате низ в малки букви в SQL

  4. Оптимизация на база данни:Индекси

  5. Какво е оператор за сравнение?