Налаштування середовища розробки - vit-um/DevOps GitHub Wiki
Налаштування середовища розробки під Windows та VSCode
wsl --install
- В в vscode підключити відповідний плагін:
apt-get update
apt-get install wget ca-certificates
code .
- Встановлюємо та налаштовуємо Git
sudo apt-get install git
git config --global user.name "Vitalii Umanets"
git config --global user.email "[email protected]"
git config --global init.defaultBranch main
- Встановлюємо компілятор Go for Linux:
wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21..linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
- Встановлюємо всі тулзи для Go, що можуть стати в нагоді:
Ctr+Shift+P
->Go: Install/Update Tools
- Встановлюємо
Git Graph
з магазину доповнень VSCode - Встановимо оболонку
zsh
$ sudo apt install zsh
- Для візуалізації взаємодії з git рекомендовано використовувати oh-my-zsh
$ wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
$ sh install.sh
- Налаштуємо зручну утиліту для відображення поточного кластеру та namespace
$ git clone https://github.com/jonmosco/kube-ps1.git
$ nano ~/.zshrc
source ~/kube-ps1/kube-ps1.sh
PROMPT='$(kube_ps1)'$PROMPT
alias k=kubectl
alias tf=terraform
autoload -U +X bashcompinit && bashcompinit
complete -o nospace -C /usr/bin/terraform terraform
$ source ~/.zshrc
(⎈|gke_devops-55250_us-central1-a_demo:N/A)➜ demo
$ source <(kubectl completion zsh)
$ kubectl completion zsh > "${fpath[1]}/_kubectl"
$ k create ns demo
namespace/demo created
$ k config set-context --current --namespace demo
Context "gke_devops-55250_us-central1-a_demo" modified.
(⎈|gke_devops-55250_us-central1-a_demo:demo)➜ demo
Встановлення необхідних програм на сервер з Ubuntu
- Оновіть пакети:
sudo apt-get update
sudo apt-get upgrade
- Встановіть Docker:
sudo apt-get install docker.io
- Встановіть пакети Kubernetes:
sudo -s
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
# Create a new sources.list file for Kubernetes
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list > /dev/null
# Update the package lists
sudo apt-get update
sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get install -y kubelet kubeadm kubectl
Встановлення пакетного менеджера Helm на локальну машину з Ubuntu 22.04.1 LTS
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
Downloading https://get.helm.sh/helm-v3.13.1-linux-amd64.tar.gz
Verifying checksum... Done.
Preparing to install helm into /usr/local/bin
helm installed into /usr/local/bin/helm
$ helm version
version.BuildInfo{Version:"v3.13.1", GitCommit:"3547a4b5bf5edb5478ce352e18858d8a552a4110", GitTreeState:"clean", GoVersion:"go1.20.8"}
Корисні інструменти
Kubernetes CLI To Manage Your Clusters
kube-ps1: Kubernetes prompt for bash and zsh
kubectx and kubens
Google Cloud Pricing Calculator
Корисні команди
# Ця команда використовує флаги -d і -f для рекурсивного видалення директорій і файлів без підтвердження. Вона видалить всі файли, які не відстежуються Git.
git clean -df
# Для перейменування гілки в Git ви можете використовувати команду git branch разом з опцією -m
git branch -m стара_гілка нова_гілка
# Створити нову гілку та перейти в неї для подальшої роботи з поточними файлами
git checkout -b Task13
# Запушити створену гілку на віддалений репозиторій
git push --set-upstream origin Task13
# Клонувати всі гілки репозиторію
git clone --recursive https://github.com/den-vasyliev/tf-fluxcd-flux-bootstrap.git
# Порівняти файл variables.tf в різних гілках репозиторію
git diff main gke_auth -- variables.tf
# Додати тег до поточного коміту
git tag v1
# Запушити доданий тег на віддалений репозиторій
git push origin v1
# Видалити віддалену гілку репозиторій
git branch -d vit-src
git push origin --delete vit-src
# Дізнатись назву тегу та хеш останнього коміту
echo $(git describe --tags --abbrev=0)-$(git rev-parse --short HEAD)
# Базова назва репо без кінцівки
basename -s .git $(git remote get-url origin) && git remote get-url origin
# Запустити застосунок в контейнері, передавши йому змінну оточення та аргумент "go" для виконання
docker run -e TELE_TOKEN=$TELE_TOKEN umanetsvitaliy/kbot:v1.4.5-309ec09-linux-amd64 go