Zer0must2b
Green Team
- 23.06.2019
- 306
- 141
Создание рабочего стола Linux для облачной разработки
В этом посте рассказывается о создании моего настольного ПК под Linux для Cloud Native Development. Я расскажу обо всем, от компонентов до периферийных устройств, интерфейсов командной строки и программного обеспечения SaaS, используя как можно больше ссылок и фрагментов. Я надеюсь, что вам понравится читать о моем опыте, чему-то научиться и, возможно, продолжить создавать свой собственный рабочий стол Linux.
Мой основной вариант используетса для работы с клиентом и разработки с открытым исходным кодом программного обеспечения как часть моего бизнеса OpenFaaS Ltd . Моя работа в основном охватывает общение с клиентами и членами сообщества через Zoom, работу в IDE (VSCode) с такими языками, как Java, Go, Python и JavaScript. Я также создаю инфраструктурное программное обеспечение для Kubernetes и облачных приложений - таких как тестирование контроллеров Kubernetes и создание образов контейнеров с помощью Docker.
Мне нужно, чтобы система была быстрой, эффективной, тихой и, что самое важное, подходящей для этой цели. Цель этого поста - не убедить мир в том, что Linux является единственной системой, которая может понадобиться разработчику, большинство людей предпочитают Mac для вычислений общего назначения.
Linux, как я его знаю
Я всегда чувствовал, что использование рабочего стола и системы Linux дает мне более быстрое время отклика, чем мой Mac, при открытии терминала, компиляции двоичного файла или просто навигации по веб-страницам. Это может быть совершенно субъективно, но если плацебо излечивает отставание моего Mac, то почему бы и нет?
Один из моих основных вариантов использования - сборка кода, предназначенного для запуска не на Mac, а на хосте Linux в облаке. С ростом облачных, микросервисных и безсерверных систем почему бы не отправлять свои приложения на хост Linux?
Оказывается, что контроллеры Kubernetes Go - это огромные двоичные файлы, настолько большие, что команде Go пришлось добавить специальные расширения в цепочку инструментов. По моему опыту, кросс-компиляция контроллера Go из Mac в двоичный файл Linux занимает гораздо больше времени и мешает быстрому внутреннему циклу, который мы жаждем как разработчики. Если вы сделаете еще один шаг и сконцентрируете сборку с помощью Docker для Mac, вам придется запускать гораздо меньшую виртуальную машину Linux - возможно, с 1 ГБ ОЗУ и 2 ядрами ЦП, что отрицательно скажется на производительности.
Выбор дистрибутива Linux
Точно так же, как сравнение MacOS с ОС Linux, предназначенной для широких масс, но с которой легко начать, выбор дистрибутива Linux приводит к аналогичным компромиссам. Я не совсем согласен с тем, что все пакеты должны быть собраны из исходного кода, поэтому Gentoo слишком хардкорный для меня. Arch Linux находит хороший баланс для меня, имея быструю систему, которая может быть точно настроена на абсолютный минимум пакетов, но запускает непрерывное обновление. Если что-то не работает из коробки, это может занять несколько дней, если не недель. Некоторым людям также могут понравиться CentOS и Fedora, но по разным причинам семейство Ubuntu/Debian лучше подходит для моего использования.
Ubuntu предлагает сравнительно небольшой образ ISO, которую можно записать на USB-накопитель и установить в новую систему за короткий промежуток времени. Я не уверен, когда он был добавлен, но новая опция «установить минимальную систему» работает очень хорошо.
Неудачные попытки
Прежде чем выбрать Intel NUC Skull Canyon, у меня было несколько неудачных попыток.
Во-первых, я купил что-то подобное на eBay, с процессором i5 8-го или 9-го поколения. Мне понравился форм-фактор, и я был очень доволен использованием 5-го поколения i5 NUC без головок для серверной сборки.
У него было два ядра, 16 ГБ ОЗУ и быстрый SSD объемом 120 ГБ, но имелись многочисленные проблемы. Ubuntu не будет загружаться, если подключено USB-устройство, а встроенная графика, кажется, задыхается и тормозит даже при скромной прокрутке. Поскольку я не мог вернуть оборудование, я перешел на автономный хост, на котором круглосуточно работает кластер Kubernetes для быстрого тестирования в моей локальной сети.
Intel BXNUC10i7FNK Core i7-10710U 6-ядерный мини-ПК NUC (уменьшенная версия)
Этот 6-ядерный NUC 10-го поколения может обеспечить лучший опыт, чем я предполагал, у него более новая прошивка и 6 ядер против двух из i5, которые я купил.
Вторая неудачная попытка состояла в том, чтобы «сделать все правильно» и купить мини-ПК у Lenovo. Меня привлекла линейка AMD Ryzen, и я знал, что процессор предлагает отличное соотношение цены и качества.
Я купил Lenovo ThinkCentre M715 Tiny M715q AMD Ryzen 5 Pro 2400GE, но сократил объем ОЗУ до 32 ГБ и добавил больший NVMe.
В то время как у устройства была высокая верхняя тактовая частота, его вентиляторы запускались, что бы я не делал, будь то открытие окна терминала или просто открытие новой вкладки в Chrome. Дело не в том, что система находилась в состоянии стресса, просто представить себе не мог, как вентилятор ЦП разгоняется вверх и вниз в течение всего дня. К счастью, Lenovo можно было вернуть и, прочитав обзоры на Amazon, я обнаружил, что версия Intel для мини-ПК будет лучше охлаждаться.
Список деталей
Давайте рассмотрим оборудование.
Учитывая мой плохой опыт работы с интегрированной графикой в самой дешевой версии NUC, я сосредоточился на линейке Hades Canyon. Было предложено две версии - одна для игр (NUC8i7HNK) и другая для VR (NUC8i7HVK), но с графикой AMD.
Я выбрал более дешевую модель NUC8i7HNK, которая стоила примерно на 150-200 долларов США, одной из причин было снижение энергопотребления.
Вы можете получить предварительно собранную версию от Amazon или собрать сами.
Игровой мини-ПК Intel NUC 8 VR NUC8I7HVK - четырехъядерный процессор Intel 8-го поколения i7-8809G до 4,20 ГГц, 32 ГБ памяти DDR4, твердотельный накопитель NV12e 512 ГБ, графика AMD Radeon RX Vega M GH, Windows 10 Pro
Я решил приобрести твердотельные накопители Samsung Evo Plus m2 для установки Windows 10 Pro на одну и Ubuntu 18.04 на другую
Комплект Intel NUC поставляется с шестигранным ключом для откручивания 6 отдельных клавиш на верхней панели, после открытия необходимо отсоединить маленький плоский ленточный разъем и отвернуть винт Phillips. Тогда вы можете просто вставить любую поддерживаемую конфигурацию оперативной памяти и хранилища.
Я купил эту систему исключительно для деловых целей, чтобы использовать ее с моим постоянным клиентом и OSS. Если вы работаете не по найму или у вас есть бизнес, вы можете посмотреть, частично ли такая система вычитается из подоходного налога. Посоветуйтесь с вашим бухгалтером.
Установка и первая загрузка
Мне также принадлежит Intel Hades Canyon предыдущего поколения, который намного меньше и тоньше по сравнению с ним. Было приятно видеть переделанное охлаждение для этой версии. Первым делом я зашел в BIOS с помощью F2 и нашел «тихую» настройку охлаждения процессора. Вы можете заметить более громкий, чем ожидалось, шум процессора, но вместо скуления дешевого процессорного кулера мы слышим постоянный поток горячего воздуха из больших вентиляционных отверстий
Низкопрофильная флешка SanDisk 32 ГБ Ultra Fit USB 3.1 (в комплекте 2 шт.), Флешка SDCZ430-032G-G46 с (1) шнуром Stromboli (TM)
Я скачал Ubuntu Desktop 18.04.3 LTS и записал его на небольшой USB-накопитель.
При первой попытке установить Ubuntu с более ранним ядром я не смог войти в установщик из-за проблем с графическим драйвером AMD. Обход был долгим и разочаровывающим, и это означало, что я отложил отладку. Хорошей новостью является то, что ядро 5.x, которое теперь включено, имеет полную поддержку графики AMD.
Уловка, которую я использовал, чтобы войти в установщик, состояла в том, чтобы нажать ESC в меню Grub, а затем добавить nomodesetв конец опции ядра. Насколько я понимаю, что nomodeset не позволяет загружать драйверы графической подсистемы , он не идеален и создает дополнительную нагрузку на процессор, но может преодолеть эту проблему.
Я рекомендую выполнить минимальную установку для экономии места, это приведет к тому, что в системе будут отсутствовать такие простые вещи, как git, но мы можем добавить их обратно одной командой. Отслеживание и удаление ненужных пакетов намного сложнее.
Получить несколько системных пакетов
Запустить
Теперь войдите в свой профиль GitHub и добавьте новый открытый ключ SSH, вставьте содержимое ~/.ssh/id_rsa.pub.
Теперь вы можете использовать ssh ссылку, доступную в пользовательском интерфейсе GitHub, или вы можете заменить HTTPS git remote на эквивалент SSH.
Получите ваши графические приложения
Теперь нам нужны графические приложения, скачайте файл .deb, а затем дважды щелкните по нему. Начните с Chrome и идите дальще.
4k обеспечивает приличное количество места, и Терминал великолепен на фоне высокого разрешения.
Установите ваши другие приложения Linux
Не каждое приложение лучше всего устанавливать через загруженный .deb или менеджер пакетов.
Раньше у меня был 27-дюймовый монитор Dell Ultrasharp, который мне действительно нравился, но мне хотелось найти более дешевую альтернативу. Именно здесь я познакомился с линейкой BenQ, в которой, похоже, используется та же электроника и другой корпус.
BenQ PD2700U 27-дюймовый 4K UHD IPS-монитор | HDR | 100% sRGB и Рек. 709 | AQColor Tech для точного воспроизведения
Масштабирование в Ubuntu работало хорошо для всего, что я пробовал, со стандартным кабелем HDMI, подключенным напрямую. Панель IPS красива и имеет антибликовое покрытие.
Кабель USB C к DisplayPort 4K при 60 Гц
Монитор поставляется с тремя графическими входами: HDMI, DisplayPort и Mini DisplayPort. Я подключаю NUC через HDMI и мой Mac Mini через кабель USB-C-DisplayPort, оба из которых обеспечивают полную 4k при 60 Гц.
Теперь о методах ввода - механическая клавиатура и профессиональная мышь.
Logitech MX Master 3 Усовершенствованная беспроводная мышь - графит
У меня есть мышь MX Master 2, которая работает по Bluetooth, к счастью, NUC содержит чип Bluetooth, и не было никаких задержек в использовании. Сегодня, если бы я покупал снова, я бы обновился до MX Master 3, которая является обновлением для 2019/2020.
Одно из моих самых желанных вещей - моя механическая клавиатура. Я перепробовал многие и теперь уверен, что MX Silver - лучшая для меня - она тихая, тактичная и быстрая.
Механическая игровая клавиатура Durgod Taurus K320 TKL - 87 клавиш - PBT с двумя снимками - NKRO - USB Type C
Модернизация клавиатуры - это одна из лучших вещей, которую вы можете сделать для своего рабочего места.
Веб-камера Logitech C922x Pro Stream - Full HD камера 1080p
Последнее, без чего я не смог бы обойтись, - это USB-концентратор с питанием, но с достаточным запасом мощности для подключения ряда периферийных устройств и поддержки быстрой зарядки телефона через iQ.
Anker 10-портовый концентратор данных 60 Вт с 7 портами USB 3.0 и 3 портами для зарядки PowerIQ
Концентратор USB также позволяет мне за очень короткий промежуток времени переключаться между компьютером Mac или Linux с помощью клавиатуры, мыши, веб-камеры и микрофона, которые легко отображаются на любом устройстве.
Удаленная работа и прием звонков
Моя веб-камера от Logitech, и я использую ее для всех звонков клиентов, так что я могу расположить ее там, где она мне нравится. Вы найдете, что новые модели выходят на регулярной основе, так что не используйте мой старый выбор в качестве руководства.
Многие разработчики рекомендуют микрофон Blue Yeti. Я не фанат этого, учитывая, что он имеет очень чувствительный прием фонового шума.
Я остановился на микрофоне Audio-Technica AT2020 + Cardioid Condenser Studio XLR, черного цвета , который поставляется со штативом и сумкой для переноски. Это означает, что, путешествуя по конференциям или выезжая по работе с клиентами, я все еще могу записывать высококачественный звук для видеопередачи.
При работе на расстоянии важно иметь возможность выйти на свежий воздух или выйти из домашнего офиса. Новое поколение яблочного AirPods Pro включает превосходное подавление шума и хорошо работет по Bluetooth с телефоном, моим ноутбуком, или NUC.
И последнее, что стоит упомянуть - это офис или пакет повышения производительности.
Я решил использовать GSuite, который я связал с доменным именем компании openfaas.com. Я использую это следующим образом:
Дополнительным преимуществом приложений Gsuite является то, что они доступны с любого устройства в любое время и их достаточно для выполнения большей части работы.
Заключение
Надеюсь, вам понравилась эта статья, в которой я рассказал о своем опыте и аргументах в отношении создания компьютера с Linux для настольной системы в 2020 году. Я постарался подробно рассказать о сборке, а также о своем рабочем процессе и предпочтениях программного обеспечения, особенно в отношении инструмента Cloud Native.
Вы можете найти мои проекты OSS на GitHub, и если вы заинтересованы в том, чтобы использовать их или участвовать в них, или просто общаться с единомышленниками, присоединяйтесь к OpenFaaS Slack.
Источник: Building a Linux Desktop for Cloud Native Development
В этом посте рассказывается о создании моего настольного ПК под Linux для Cloud Native Development. Я расскажу обо всем, от компонентов до периферийных устройств, интерфейсов командной строки и программного обеспечения SaaS, используя как можно больше ссылок и фрагментов. Я надеюсь, что вам понравится читать о моем опыте, чему-то научиться и, возможно, продолжить создавать свой собственный рабочий стол Linux.
Мой основной вариант используетса для работы с клиентом и разработки с открытым исходным кодом программного обеспечения как часть моего бизнеса OpenFaaS Ltd . Моя работа в основном охватывает общение с клиентами и членами сообщества через Zoom, работу в IDE (VSCode) с такими языками, как Java, Go, Python и JavaScript. Я также создаю инфраструктурное программное обеспечение для Kubernetes и облачных приложений - таких как тестирование контроллеров Kubernetes и создание образов контейнеров с помощью Docker.
Мне нужно, чтобы система была быстрой, эффективной, тихой и, что самое важное, подходящей для этой цели. Цель этого поста - не убедить мир в том, что Linux является единственной системой, которая может понадобиться разработчику, большинство людей предпочитают Mac для вычислений общего назначения.
Linux, как я его знаю
Я всегда чувствовал, что использование рабочего стола и системы Linux дает мне более быстрое время отклика, чем мой Mac, при открытии терминала, компиляции двоичного файла или просто навигации по веб-страницам. Это может быть совершенно субъективно, но если плацебо излечивает отставание моего Mac, то почему бы и нет?
Один из моих основных вариантов использования - сборка кода, предназначенного для запуска не на Mac, а на хосте Linux в облаке. С ростом облачных, микросервисных и безсерверных систем почему бы не отправлять свои приложения на хост Linux?
Оказывается, что контроллеры Kubernetes Go - это огромные двоичные файлы, настолько большие, что команде Go пришлось добавить специальные расширения в цепочку инструментов. По моему опыту, кросс-компиляция контроллера Go из Mac в двоичный файл Linux занимает гораздо больше времени и мешает быстрому внутреннему циклу, который мы жаждем как разработчики. Если вы сделаете еще один шаг и сконцентрируете сборку с помощью Docker для Mac, вам придется запускать гораздо меньшую виртуальную машину Linux - возможно, с 1 ГБ ОЗУ и 2 ядрами ЦП, что отрицательно скажется на производительности.
Выбор дистрибутива Linux
Точно так же, как сравнение MacOS с ОС Linux, предназначенной для широких масс, но с которой легко начать, выбор дистрибутива Linux приводит к аналогичным компромиссам. Я не совсем согласен с тем, что все пакеты должны быть собраны из исходного кода, поэтому Gentoo слишком хардкорный для меня. Arch Linux находит хороший баланс для меня, имея быструю систему, которая может быть точно настроена на абсолютный минимум пакетов, но запускает непрерывное обновление. Если что-то не работает из коробки, это может занять несколько дней, если не недель. Некоторым людям также могут понравиться CentOS и Fedora, но по разным причинам семейство Ubuntu/Debian лучше подходит для моего использования.
Ubuntu предлагает сравнительно небольшой образ ISO, которую можно записать на USB-накопитель и установить в новую систему за короткий промежуток времени. Я не уверен, когда он был добавлен, но новая опция «установить минимальную систему» работает очень хорошо.
Неудачные попытки
Прежде чем выбрать Intel NUC Skull Canyon, у меня было несколько неудачных попыток.
Во-первых, я купил что-то подобное на eBay, с процессором i5 8-го или 9-го поколения. Мне понравился форм-фактор, и я был очень доволен использованием 5-го поколения i5 NUC без головок для серверной сборки.
У него было два ядра, 16 ГБ ОЗУ и быстрый SSD объемом 120 ГБ, но имелись многочисленные проблемы. Ubuntu не будет загружаться, если подключено USB-устройство, а встроенная графика, кажется, задыхается и тормозит даже при скромной прокрутке. Поскольку я не мог вернуть оборудование, я перешел на автономный хост, на котором круглосуточно работает кластер Kubernetes для быстрого тестирования в моей локальной сети.
Intel BXNUC10i7FNK Core i7-10710U 6-ядерный мини-ПК NUC (уменьшенная версия)
Этот 6-ядерный NUC 10-го поколения может обеспечить лучший опыт, чем я предполагал, у него более новая прошивка и 6 ядер против двух из i5, которые я купил.
Вторая неудачная попытка состояла в том, чтобы «сделать все правильно» и купить мини-ПК у Lenovo. Меня привлекла линейка AMD Ryzen, и я знал, что процессор предлагает отличное соотношение цены и качества.
Я купил Lenovo ThinkCentre M715 Tiny M715q AMD Ryzen 5 Pro 2400GE, но сократил объем ОЗУ до 32 ГБ и добавил больший NVMe.
В то время как у устройства была высокая верхняя тактовая частота, его вентиляторы запускались, что бы я не делал, будь то открытие окна терминала или просто открытие новой вкладки в Chrome. Дело не в том, что система находилась в состоянии стресса, просто представить себе не мог, как вентилятор ЦП разгоняется вверх и вниз в течение всего дня. К счастью, Lenovo можно было вернуть и, прочитав обзоры на Amazon, я обнаружил, что версия Intel для мини-ПК будет лучше охлаждаться.
Список деталей
Давайте рассмотрим оборудование.
Учитывая мой плохой опыт работы с интегрированной графикой в самой дешевой версии NUC, я сосредоточился на линейке Hades Canyon. Было предложено две версии - одна для игр (NUC8i7HNK) и другая для VR (NUC8i7HVK), но с графикой AMD.
Я выбрал более дешевую модель NUC8i7HNK, которая стоила примерно на 150-200 долларов США, одной из причин было снижение энергопотребления.
Вы можете получить предварительно собранную версию от Amazon или собрать сами.
Игровой мини-ПК Intel NUC 8 VR NUC8I7HVK - четырехъядерный процессор Intel 8-го поколения i7-8809G до 4,20 ГГц, 32 ГБ памяти DDR4, твердотельный накопитель NV12e 512 ГБ, графика AMD Radeon RX Vega M GH, Windows 10 Pro
- ОЗУ - Я выбрал 32 ГБ ОЗУ
- Что-то вроде CORSAIR Vengeance 32 ГБ (2x16 ГБ) 260-контактный DDR4 SO-DIMM DDR4 2666 (PC4 21300) Модель памяти ноутбука CMSX32GX4M2A2666C18 обеспечивает хорошее соотношение цены и качества.
- Место хранения
Я решил приобрести твердотельные накопители Samsung Evo Plus m2 для установки Windows 10 Pro на одну и Ubuntu 18.04 на другую
- Если вы используете только Linux, то 1TB предлагает лучшее значение . Теперь вы можете купить два и установить их в массив RAID-0, используя mdadm .
Комплект Intel NUC поставляется с шестигранным ключом для откручивания 6 отдельных клавиш на верхней панели, после открытия необходимо отсоединить маленький плоский ленточный разъем и отвернуть винт Phillips. Тогда вы можете просто вставить любую поддерживаемую конфигурацию оперативной памяти и хранилища.
Я купил эту систему исключительно для деловых целей, чтобы использовать ее с моим постоянным клиентом и OSS. Если вы работаете не по найму или у вас есть бизнес, вы можете посмотреть, частично ли такая система вычитается из подоходного налога. Посоветуйтесь с вашим бухгалтером.
Установка и первая загрузка
Мне также принадлежит Intel Hades Canyon предыдущего поколения, который намного меньше и тоньше по сравнению с ним. Было приятно видеть переделанное охлаждение для этой версии. Первым делом я зашел в BIOS с помощью F2 и нашел «тихую» настройку охлаждения процессора. Вы можете заметить более громкий, чем ожидалось, шум процессора, но вместо скуления дешевого процессорного кулера мы слышим постоянный поток горячего воздуха из больших вентиляционных отверстий
Низкопрофильная флешка SanDisk 32 ГБ Ultra Fit USB 3.1 (в комплекте 2 шт.), Флешка SDCZ430-032G-G46 с (1) шнуром Stromboli (TM)
Я скачал Ubuntu Desktop 18.04.3 LTS и записал его на небольшой USB-накопитель.
При первой попытке установить Ubuntu с более ранним ядром я не смог войти в установщик из-за проблем с графическим драйвером AMD. Обход был долгим и разочаровывающим, и это означало, что я отложил отладку. Хорошей новостью является то, что ядро 5.x, которое теперь включено, имеет полную поддержку графики AMD.
Уловка, которую я использовал, чтобы войти в установщик, состояла в том, чтобы нажать ESC в меню Grub, а затем добавить nomodesetв конец опции ядра. Насколько я понимаю, что nomodeset не позволяет загружать драйверы графической подсистемы , он не идеален и создает дополнительную нагрузку на процессор, но может преодолеть эту проблему.
Я рекомендую выполнить минимальную установку для экономии места, это приведет к тому, что в системе будут отсутствовать такие простые вещи, как git, но мы можем добавить их обратно одной командой. Отслеживание и удаление ненужных пакетов намного сложнее.
Получить несколько системных пакетов
Запустить
sudo apt updateиsudo apt install - tmux - терминальный мультиплексор - запустить команды, а затем отсоединить и подключить позже.
Смотрите мой видео-учебник, вы должны знать, tmux - curl - добавьте его обратно, чтобы сделать HTTP-запросы
- git - абсолютно необходим для любой коммерческой или OSS работы
Если у вас есть 2FA (двухфакторная аутентификация) для вашей учетной записи GitHub (и я надеюсь, что у вас есть), то вам следует начать клонировать git-репозитории, используя ssh вместо HTTPS, в противном случае вам придется возиться с личными токенами доступа. ,
Если у вас нет ключа SSH, сгенерируйте его:
ssh-keygen Теперь войдите в свой профиль GitHub и добавьте новый открытый ключ SSH, вставьте содержимое ~/.ssh/id_rsa.pub.
Теперь вы можете использовать ssh ссылку, доступную в пользовательском интерфейсе GitHub, или вы можете заменить HTTPS git remote на эквивалент SSH.
- Если вам необходимо удалить существующий HTTPS «удаленный», запустить git remote rm origin затем git remote add origin git@github.com:alexellis/k3sup.git, например.
- htop - красивый способ взглянуть на использование системы
- vim - мой любимый редактор для системных файлов, если вы изучите некоторые ярлыки, вы можете ускорить рабочий процесс
- gimp - при написании постов в блоге я использую gimp для изменения размера и обрезки изображений, например, для скриншота htop, который вы увидите позже
Код:
sudo apt update && \ sudo apt install -qy tmux curl git htop vim gimp
Теперь нам нужны графические приложения, скачайте файл .deb, а затем дважды щелкните по нему. Начните с Chrome и идите дальще.
- chrome- Google Chrome Web Browser
Более быстрый браузер, чем Firefox - Zoom- Video Conferencing, Web Conferencing, Webinars, Screen Sharing
Установите, если вы встречаетесь с клиентами или посещаете брифинги OSS. Плата за Zoom - одна из лучших вещей, которую я встречал, она также не облагаетса налогом, если она используется в коммерческих целях. Вы можете использовать мой реферальный код, чтобы присоединиться к Zoom - VSCode- Download Visual Studio Code - Mac, Linux, Windows
- Slack- Mac | Downloads
Войдите и присоединитесь к своим рабочим пространствам, таким как OpenFaaS Slack, где вы можете обсудить Kubernetes, Docker, ARM, Raspberry Pi, входные каналы, k3s и многое другое.
4k обеспечивает приличное количество места, и Терминал великолепен на фоне высокого разрешения.
Установите ваши другие приложения Linux
Не каждое приложение лучше всего устанавливать через загруженный .deb или менеджер пакетов.
- docker - создавать, запускать образы
Код:curl -sSLf https://get.docker.com | sudo sh sudo usermod -aG docker $(whoami) - docker-compose- compose является фаворитом среди разработчиков для локальной разработки, он может быть установлен pip и требует Python
Код:sudo apt install -qy python3 python3-pip sudo pip3 install docker-compose - inletsctl- inlets - это ваш собственный облачный туннель для получения общедоступного IP-адреса, когда он важен, для обмена работами с клиентами, вашей командой или сообществом. Это как Ngrok, но на 2020 год и бесплатный
Если вам нужна бесплатная пробная версия для inlets-pro, которая может туннелировать чистый TCP-трафик L4, подайте заявку здесь . Цитируйте этот пост, и я бесплатно удвою длину пробного лицензионного ключа.Код:curl -sSLf https://inletsctl.inlets.dev | sudo sh inletsctl download inletsctl download --pro - k3d- запустить весь кластер Kubernetes в докер-контейнере, самый быстрый вариант из доступных и наименьший, основанный на k3s
Код:
curl -s https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash - k3sup- k3sup можно использовать для установки k3s на удаленные виртуальные машины или ваш кластер Raspberry Pi. Вторым вариантом использования k3sup является установка приложений, таких как Kubernetes Dashboard, Minio, Postgresql, OpenFaaS, cert-manager и другие, используя их таблицы управления.
Код:
curl -sSLf https://get.k3sup.dev | sudo sh - kubectxkubectx - это скрипт bash, который быстро переключается между контекстами Kubernetes. Это понадобится вам для указания на локальный или удаленный кластер.
Код:cd /tmp/ git clone https://github.com/ahmetb/kubectx chmod +x ./kubectx/kubectx sudo cp ./kubectx/kubectx /usr/local/bin/ - hub- если вы сопровождающий или когда-либо тестировали PR в проектах OSS, то вам нужен CLI "Hub" от GitHub .
Мои любимые команды hub pr list/checkoutиhub issueКод:curl -sSL https://github.com/github/hub/releases/download/v2.14.1/hub-linux-amd64-2.14.1.tgz > /tmp/hub.tgz sudo tar -xvf /tmp/hub.tgz -C /usr/local/ --strip-components=1
- Golang - установка Go является ключевой частью моего рабочего процесса.
Теперь отредактируйте ~/.bashrc:Код:sudo mkdir -p /usr/local/go/ curl -sSL https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz > go1.13.7.linux-amd64.tar.gz sudo tar -xvf go1.13.7.linux-amd64.tar.gz -C /usr/local/go --strip-components=1
Затем создайте папку GOPATH, mkdir -p $HOME/goКод:export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin export GOPATH=$HOME/go
Проверьте работоспособность: go version
Теперь перейдите к VSCode и установите плагин «Go», после чего выполните шаг установки, который загружает каждый инструмент статического анализа Go и устанавливает его локально в ваш $ PATH.
- Node.js - даже если вы не являетесь разработчиком JavaScript, очень полезно иметь доступный узел, даже как калькулятор в вашем CLI
Вот небольшой пример того, как вы можете использовать node в качестве быстрого калькулятора:Код:curl -sSL https://nodejs.org/dist/v12.14.1/node-v12.14.1-linux-x64.tar.gz > node-v12.14.1-linux-x64.tar.gz sudo tar -xvf node-v12.14.1-linux-x64.tar.gz -C /usr/local --strip-components=1
ОстальноеКод:alex@nuc7:~$ node Welcome to Node.js v12.14.1. Type ".help" for more information. > day_rate=2500 2500 > day_rate*1.1 2750 > ```
Этот раздел не является обязательным, и вы уже можете владеть всем, что вам нужно, например монитором, клавиатурой и мышью.
Раньше у меня был 27-дюймовый монитор Dell Ultrasharp, который мне действительно нравился, но мне хотелось найти более дешевую альтернативу. Именно здесь я познакомился с линейкой BenQ, в которой, похоже, используется та же электроника и другой корпус.
BenQ PD2700U 27-дюймовый 4K UHD IPS-монитор | HDR | 100% sRGB и Рек. 709 | AQColor Tech для точного воспроизведения
Масштабирование в Ubuntu работало хорошо для всего, что я пробовал, со стандартным кабелем HDMI, подключенным напрямую. Панель IPS красива и имеет антибликовое покрытие.
Кабель USB C к DisplayPort 4K при 60 Гц
Монитор поставляется с тремя графическими входами: HDMI, DisplayPort и Mini DisplayPort. Я подключаю NUC через HDMI и мой Mac Mini через кабель USB-C-DisplayPort, оба из которых обеспечивают полную 4k при 60 Гц.
Теперь о методах ввода - механическая клавиатура и профессиональная мышь.
Logitech MX Master 3 Усовершенствованная беспроводная мышь - графит
У меня есть мышь MX Master 2, которая работает по Bluetooth, к счастью, NUC содержит чип Bluetooth, и не было никаких задержек в использовании. Сегодня, если бы я покупал снова, я бы обновился до MX Master 3, которая является обновлением для 2019/2020.
Одно из моих самых желанных вещей - моя механическая клавиатура. Я перепробовал многие и теперь уверен, что MX Silver - лучшая для меня - она тихая, тактичная и быстрая.
Механическая игровая клавиатура Durgod Taurus K320 TKL - 87 клавиш - PBT с двумя снимками - NKRO - USB Type C
Модернизация клавиатуры - это одна из лучших вещей, которую вы можете сделать для своего рабочего места.
Веб-камера Logitech C922x Pro Stream - Full HD камера 1080p
Последнее, без чего я не смог бы обойтись, - это USB-концентратор с питанием, но с достаточным запасом мощности для подключения ряда периферийных устройств и поддержки быстрой зарядки телефона через iQ.
Anker 10-портовый концентратор данных 60 Вт с 7 портами USB 3.0 и 3 портами для зарядки PowerIQ
Концентратор USB также позволяет мне за очень короткий промежуток времени переключаться между компьютером Mac или Linux с помощью клавиатуры, мыши, веб-камеры и микрофона, которые легко отображаются на любом устройстве.
Удаленная работа и прием звонков
Моя веб-камера от Logitech, и я использую ее для всех звонков клиентов, так что я могу расположить ее там, где она мне нравится. Вы найдете, что новые модели выходят на регулярной основе, так что не используйте мой старый выбор в качестве руководства.
Многие разработчики рекомендуют микрофон Blue Yeti. Я не фанат этого, учитывая, что он имеет очень чувствительный прием фонового шума.
Я остановился на микрофоне Audio-Technica AT2020 + Cardioid Condenser Studio XLR, черного цвета , который поставляется со штативом и сумкой для переноски. Это означает, что, путешествуя по конференциям или выезжая по работе с клиентами, я все еще могу записывать высококачественный звук для видеопередачи.
При работе на расстоянии важно иметь возможность выйти на свежий воздух или выйти из домашнего офиса. Новое поколение яблочного AirPods Pro включает превосходное подавление шума и хорошо работет по Bluetooth с телефоном, моим ноутбуком, или NUC.
И последнее, что стоит упомянуть - это офис или пакет повышения производительности.
Я решил использовать GSuite, который я связал с доменным именем компании openfaas.com. Я использую это следующим образом:
- Документы Google - для написания предложений и отчетов о работе (SoW) для клиентов или для CfP / рефератов конференций - функции совместной работы очень интуитивно понятны и полезны для асинхронной работы. Я также отслеживаю записи встреч OSS, используя общий документ.
- Google Sheets - для отслеживания часов / дней / хода выполнения проекта, когда это необходимо. Если вы новичок в консалтинге, изучите стоимость в зависимости от времени.
- Почта Google, связанная с openfaas.com, позволяет использовать различные почтовые ящики, такие как sales @ и support @, в качестве псевдонимов или отдельных учетных записей пользователей. Вы могли бы иметь отдельный адрес электронной почты для входа в систему вашего корпоративного бухгалтера.
- Календарь Google - для планирования встреч и звонков. Я также использую это, чтобы заблокировать время для перерыва и исследования продукта.
Дополнительным преимуществом приложений Gsuite является то, что они доступны с любого устройства в любое время и их достаточно для выполнения большей части работы.
Заключение
Надеюсь, вам понравилась эта статья, в которой я рассказал о своем опыте и аргументах в отношении создания компьютера с Linux для настольной системы в 2020 году. Я постарался подробно рассказать о сборке, а также о своем рабочем процессе и предпочтениях программного обеспечения, особенно в отношении инструмента Cloud Native.
Вы можете найти мои проекты OSS на GitHub, и если вы заинтересованы в том, чтобы использовать их или участвовать в них, или просто общаться с единомышленниками, присоединяйтесь к OpenFaaS Slack.
Источник: Building a Linux Desktop for Cloud Native Development