Přejít na obsah
ICTforum.cz

Pokročilé Tipy a Triky pro Linux: Část 3


Neutr00n

Doporučené příspěvky

Pokud jste již zdatní uživatelé Linuxu a hledáte ještě více pokročilé triky a tipy, tento článek vám poskytne další užitečné návody. Ponořme se do hloubky!

1. Nastavení Docker Swarm pro orchestraci kontejnerů

Docker Swarm je nativní orchestrátor Dockeru, který umožňuje spravovat více Docker kontejnerů jako cluster.

  1. Inicializace Swarm:

    docker swarm init --advertise-addr ip_adresa_vašeho_uzlu
  2. Připojení dalších uzlů do Swarm: Na dalších uzlech spusťte příkaz, který vám byl poskytnut po inicializaci Swarm na hlavním uzlu, například:

    docker swarm join --token SWMTKN-1-0v1xyz... ip_adresa_hlavniho_uzlu:2377
  3. Nasazení služby ve Swarm: Vytvořte službu, která bude běžet na více uzlech:

    docker service create --name my_web --replicas 3 -p 80:80 nginx

2. Použití Ansible pro automatizaci konfigurace

Ansible je nástroj pro automatizaci konfigurace a správu serverů.

  1. Instalace Ansible:

    sudo apt-get install ansible
  2. Vytvoření jednoduchého playbooku:

    ---
    - hosts: webservers
      become: yes
      tasks:
        - name: Update apt cache
          apt:
            update_cache: yes
        - name: Install nginx
          apt:
            name: nginx
            state: present
  3. Spuštění playbooku:

    ansible-playbook -i hosts myplaybook.yml

3. Správa logů pomocí ELK stacku (Elasticsearch, Logstash, Kibana)

ELK stack je výkonný nástroj pro centralizaci, analýzu a vizualizaci logů.

  1. Instalace Elasticsearch:

    sudo apt-get install elasticsearch
    sudo systemctl start elasticsearch
    sudo systemctl enable elasticsearch
  2. Instalace Logstash:

    sudo apt-get install logstash
  3. Instalace Kibana:

    sudo apt-get install kibana
    sudo systemctl start kibana
    sudo systemctl enable kibana
  4. Konfigurace Logstash: Vytvořte konfigurační soubor /etc/logstash/conf.d/logstash.conf:

    input {
      beats {
        port => 5044
      }
    }
    filter {
      ...
    }
    output {
      elasticsearch {
        hosts => ["localhost:9200"]
      }
    }
  5. Spuštění Logstash:

    sudo systemctl start logstash
    sudo systemctl enable logstash

4. Použití iptables pro pokročilou správu firewallu

Iptables je silný nástroj pro správu firewallu na úrovni jádra Linuxu.

  1. Zobrazení aktuálních pravidel:

    sudo iptables -L
  2. Přidání pravidla pro povolení SSH:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  3. Blokování IP adresy:

    sudo iptables -A INPUT -s 192.168.1.100 -j DROP
  4. Uložení pravidel: Na Debian/Ubuntu použijte iptables-persistent:

    sudo apt-get install iptables-persistent
    sudo netfilter-persistent save

5. Správa systémových zdrojů pomocí cgroups

Cgroups (control groups) umožňují spravovat a omezovat zdroje pro procesy.

  1. Vytvoření nové cgroup:

    sudo cgcreate -g cpu,memory:mygroup
  2. Omezení CPU a paměti:

    sudo cgset -r cpu.shares=512 mygroup
    sudo cgset -r memory.limit_in_bytes=512M mygroup
  3. Spuštění procesu v rámci cgroup:

    sudo cgexec -g cpu,memory:mygroup /path/to/your/application

6. Použití LXC pro lehké kontejnery

LXC (Linux Containers) je nástroj pro vytváření lehkých kontejnerů.

  1. Instalace LXC:

    sudo apt-get install lxc
  2. Vytvoření a spuštění nového kontejneru:

    sudo lxc-create -n mycontainer -t ubuntu
    sudo lxc-start -n mycontainer
  3. Připojení ke kontejneru:

    sudo lxc-attach -n mycontainer

7. Použití Ceph pro distribuované úložiště

Ceph je výkonný systém pro distribuované úložiště, který poskytuje vysokou dostupnost a škálovatelnost.

  1. Instalace Ceph:

    sudo apt-get install ceph
  2. Konfigurace monitorů a OSD:

    sudo ceph-deploy new mon1 mon2 mon3
    sudo ceph-deploy mon create-initial
    sudo ceph-deploy osd create --data /dev/sdX osd1 osd2 osd3
  3. Vytvoření a připojení Ceph souborového systému:

    sudo ceph osd pool create mypool 128
    sudo ceph fs new myfs mypool mypool
    sudo mount -t ceph mon1:6789:/ /mnt/mycephfs -o name=admin,secret=AQ...

8. Použití Terraform pro správu infrastruktury jako kód (IaC)

Terraform je nástroj pro definování a provisioning infrastruktury pomocí kódu.

  1. Instalace Terraform:

    sudo apt-get install terraform
  2. Vytvoření jednoduchého Terraform konfiguračního souboru:

    provider "aws" {
      region = "us-west-2"
    }
    
    resource "aws_instance" "example" {
      ami           = "ami-0c55b159cbfafe1f0"
      instance_type = "t2.micro"
    }
  3. Spuštění Terraformu:

    terraform init
    terraform apply

9. Použití Kubernetes pro orchestraci kontejnerů

Kubernetes je mocný nástroj pro správu a orchestraci kontejnerů na velkém měřítku.

  1. Instalace Minikube (pro lokální testování):

    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    sudo install minikube-linux-amd64 /usr/local/bin/minikube
  2. Spuštění Minikube:

    minikube start
  3. Nasazení aplikace:

    kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
    kubectl expose deployment hello-node --type=LoadBalancer --port=8080
  4. Přístup k aplikaci:

    minikube service hello-node

10. Pokročilé využití SELinux pro bezpečnost

SELinux (Security-Enhanced Linux) poskytuje pokročilý mechanismus pro řízení přístupu.

  1. Instalace a aktivace SELinux:

    sudo apt-get install selinux
    sudo setenforce 1
  2. Zobrazení aktuálního stavu SELinux:

    sudo sestatus
  3. Vytvoření vlastních SELinux politik:

    • Vytvořte nový typ politiky:

      sudo vi /etc/selinux/my_policy.te
    • Přidejte pravidla do politiky:

      policy_module(my_policy, 1.0)
      
      type my_app_t;
      allow my_app_t self:process { fork execmem };
    • Kompilace a instalace politiky:

      checkmodule -M -m -o my_policy.mod my_policy.te
      semodule_package -o my_policy.pp -m my_policy.mod
      sudo semodule -i my_policy.pp

       

Odkaz ke komentáři
Sdílet na ostatní stránky

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Návštěvník
Odpovědět na toto téma...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Kdo si právě prohlíží tuto stránku

    • Žádný registrovaný uživatel si neprohlíží tuto stránku
×
×
  • Vytvořit...