Compare languages | Управление узлами: примеры

Ниже представлены несколько примеров описания NodeGroup, а также установки плагина cert-manager для kubectl и задания параметра sysctl.

Below are some examples of NodeGroup description, as well as installing the cert-manager plugin for kubectl and setting the sysctl parameter.

Пример описания NodeGroup

An example of the NodeGroup configuration

yaml apiVersion: deckhouse.io/v1 kind: NodeGroup metadata: name: test spec: nodeType: CloudEphemeral cloudInstances: zones:

  • eu-west-1a
  • eu-west-1b minPerZone: 1 maxPerZone: 2 classReference: kind: AWSInstanceClass name: test nodeTemplate: labels: tier: test

yaml apiVersion: deckhouse.io/v1 kind: NodeGroup metadata: name: test spec: nodeType: CloudEphemeral cloudInstances: zones:

  • eu-west-1a
  • eu-west-1b minPerZone: 1 maxPerZone: 2 classReference: kind: AWSInstanceClass name: test nodeTemplate: labels: tier: test

Пример описания NodeUser

An example of the NodeUser configuration

yaml apiVersion: deckhouse.io/v1 kind: NodeUser metadata: name: testuser spec: uid: 1001 sshPublicKey: “" passwordHash: isSudoer: true

yaml apiVersion: deckhouse.io/v1 kind: NodeUser metadata: name: testuser spec: uid: 1001 sshPublicKey: “" passwordHash: isSudoer: true

Пример описания статичной NodeGroup

An example of the static NodeGroup configuration

Для виртуальных машин на гипервизорах или физических серверов используйте nodeType: Static.

Use nodeType: Static for physical servers and VMs on Hypervisors.

yaml apiVersion: deckhouse.io/v1 kind: NodeGroup metadata: name: worker spec: nodeType: Static

yaml apiVersion: deckhouse.io/v1 kind: NodeGroup metadata: name: worker spec: nodeType: Static

Пример описания статичной NodeGroup для системных узлов

An example of the static NodeGroup for system nodes configuration

yaml apiVersion: deckhouse.io/v1 kind: NodeGroup metadata: name: system spec: nodeTemplate: labels: node-role.deckhouse.io/system: “” taints:

  • effect: NoExecute key: dedicated.deckhouse.io value: system nodeType: Static

yaml apiVersion: deckhouse.io/v1 kind: NodeGroup metadata: name: system spec: nodeTemplate: labels: node-role.deckhouse.io/system: “” taints:

  • effect: NoExecute key: dedicated.deckhouse.io value: system nodeType: Static

Пример установки плагина cert-manager для kubectl на мастер узлах

An example of install cert-manager plugin for kubectl on master nodes

yaml apiVersion: deckhouse.io/v1alpha1 kind: NodeGroupConfiguration metadata: name: add-cert-manager-plugin.sh spec: weight: 100 bundles:

  • “*” nodeGroups:
  • “master” content: | if [ -x /usr/local/bin/kubectl-cert_manager ]; then exit 0 fi curl -L https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/kubectl-cert_manager-linux-amd64.tar.gz -o - | tar -zxvf - kubectl-cert_manager mv kubectl-cert_manager /usr/local/bin

yaml apiVersion: deckhouse.io/v1alpha1 kind: NodeGroupConfiguration metadata: name: add-cert-manager-plugin.sh spec: weight: 100 bundles:

  • “*” nodeGroups:
  • “master” content: | if [ -x /usr/local/bin/kubectl-cert_manager ]; then exit 0 fi curl -L https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/kubectl-cert_manager-linux-amd64.tar.gz -o - | tar -zxvf - kubectl-cert_manager mv kubectl-cert_manager /usr/local/bin

Пример задания параметра sysctl

An example of tune sysctl parameter

yaml apiVersion: deckhouse.io/v1alpha1 kind: NodeGroupConfiguration metadata: name: sysctl-tune.sh spec: weight: 100 bundles:

  • “*” nodeGroups:
  • “*” content: | sysctl -w vm.max_map_count=262144

yaml apiVersion: deckhouse.io/v1alpha1 kind: NodeGroupConfiguration metadata: name: sysctl-tune.sh spec: weight: 100 bundles:

  • “*” nodeGroups:
  • “*” content: | sysctl -w vm.max_map_count=262144