Hejdaの見る夢

一人前のエンジニアを目指して頑張ったこととかをつらつら書くブログ

Windows 7にVirtualBox 5.2.12を入れてUbuntu 18.04を入れる(2018/07) 前篇

アジェンダ

前篇(今回)

  • VirtualBoxのインストール
  • Ubuntuのダウンロード
  • 仮想サーバ用のBoxを作成する
  • 最終的な状態

後編

  • Ubuntuをセットアップしていく

VirtualBoxのインストール

公式ダウンロードページ

https://www.virtualbox.org/wiki/Downloads

上記からWindows用をダウンロードして、Windowsにインストールします。

インストールする場所は任意で構いませんが、Boxイメージを作成する関係上、ディスク残容量が多いディスクが良いでしょう。

以下、インストール出来ました。

f:id:nari_kyu:20180704104819p:plain f:id:nari_kyu:20180704104955p:plain

Ubuntuのダウンロード

https://www.ubuntu.com/download/server

上記から、 Ubuntu Server 18.04 LTS をダウンロードしておく

保存場所は任意で良いかと思います。

仮想サーバ用のVirtualBoxを作成する

Box自体を作成

「新規」を選択

  • 仮想マシンの作成
    • 名前とオペレーティングシステム
      • 名前 = workspace
      • タイプ = Linux
      • バージョン = Ubuntu (64bit)
    • モリーサイズ
      • 1024MB
    • ハードディスク
      • 仮想ハードディスクを作成する
    • ハードディスクのファイルタイプ
      • VDI
    • 物理ハードディスクにあるストレージ
      • 固定サイズ
    • ファイルの場所とサイズ
      • そのまま(10.00GB)

以下のように作成出来ました。

f:id:nari_kyu:20180704105849p:plain

ネットワークの作成

「ファイル」を選択

  • ホストネットワークマネージャー
  • 作成
  • アダプター
    • アダプターを手動で設定
      • IPv4 アドレス
        • 192.168.50.1
      • IPv4ネットマスク
        • 255.255.255.0
  • DHCPサーバ
    • サーバーを有効化
      • サーバアドレス
        • 192.168.50.100
      • サーバマスク
        • 255.255.255.0
      • アドレス下限
        • 192.168.50.101
      • アドレス上限
        • 192.168.50.254
  • 「マシンツール」でネットワークマネージャ終了

f:id:nari_kyu:20180704110701p:plain

作成したVirtualBoxにネットワークの設定をする

先ほど作成したworkspaceをクリックして「設定」

f:id:nari_kyu:20180704110825p:plain

  • 一般
    • 変更無し
  • システム
    • マザーボード
      • 起動順序
        • 「フロッピー」からチェックを外し、順序も下位へ移動
  • ディスプレイ
    • 変更無し 
  • オーディオ
    • 「オーディオを有効化」のチェックを外す
  • ネットワーク
    • アダプター2
  • ストレージ
    • 以下のように先にダウンロードしておいたUbuntuを指定しておきます

f:id:nari_kyu:20180704111642p:plain

最終的な状態

f:id:nari_kyu:20180704111758p:plain

次回からUbuntuをセットアップしていきます。

Cloud Native Meetup Tokyo #2 に行ってきた時の個人メモ

URL

https://cloudnative.connpass.com/event/87657/

SkaffoldでKubernetesネイティブな開発環境を作ってみた

Skaffoldは、コンテナのビルド、プッシュ、k8sへのデプロイを自動化して、開発作業をを効率化してくれるCLIツールです。今回、Skaffoldの利用方法を解説するとともに、ローカル開発、CI/CDへの組み込みで使ってみたので、実際の使用感をレポートします。

コンテナネイティブなワークフローエンジン Argo

  • 登壇者
    • Wataru Matsui @watawuwu (さび開発)
Kubernetes 上に展開できるコンテナネイティブなワークフローエンジン Argo。ワークフローを Custom Resource Definition で定義することができるため、親和性の高い YAML で管理することが可能です。今回は Argo で出来ることや、今後注力していくCI/CDなどの機能についてお話します。
  • argoとは
    • k8s上で動くワークフローエンジン
  • ワークフローエンジンとは
    • データパイプラインをマネジメントするもの
  • Argo
    • Argo workflows
    • Argo Ci
    • Argo CD
    • Argo Events
  • GitHub

  • まとめ

    • ほかのツールと組み合わせでいろいろ出来ることが増えそう
    • Argo単体だとかゆいとこに手が届きにくい

Introduction to Kubeflow 0.1 and future

KubeCon 2017 NA で発表、KubeCon 2018 EU で 0.1 のリリースが報告された ML 環境を Kubernetes 上で提供する Kubeflow は、ML ワークフローの展開を「シンプル」「ポータブル」「スケーラブル」にするために開発されています。今回は KubeCon 2018 EU での発表を交えながら、ML 関連の検証プロジェクトで検証中の Kubeflow についてお話します。

Lightning Talk (5 ~ 10 min * 2)

  • 登壇者
    • PrometheusでKubernetesの高速オートスケールを実現した話 by Atsushi Tanaka
    • Update とは何かそして何であるべきか by y_taka_23

Cloud Native Meetup Tokyo #1 に行ってきた時の個人メモ

connpass.com

https://cloudnative.connpass.com/event/86679/

with NATS with Kubernetesの世界へ

  • 登壇者
    • Hayahito Kawamitsu (NTT Communications)
  • 資料

  • NATSとは

    • neural autonomic transport system
    • GO言語で実装されたオープンソースのメッセージングシステム
    • ソフトウェア/ハードウェアを問わず、分散されたシステム感のメッセージグのやり取り(送受信)をサポート 
    • NATS Messaging
    • https://nats.io/
    • https://en.wikipedia.org/wiki/NATS_Messaging
    • メッセージングサービス
    • 成熟したコンテンツ
  • メッセージングモデル
    • 簡単に言うとRSS
  • monitoring
    • httpでエンドポイントを持っている(json)
    • topコマンド
    • Prometheusにでexporterがある
      • NATS Prometheus Exporter
  • Lgging
    • オプションにてログ出力が可能
  • 試したみたい時
    • dockerなら、コマンド一発で出来る
    • Helmのあるので、k8s上でも可能(クラスター上で立ち上げたい時)

Fluent Bit vs Fluentd 1.2

サービスメッシュと仲間たち 〜Istio & Conduit〜

Japan Container Days v18.04に行ってきた時の個人メモ

日時

2018.04.19(Thu) @ BELLESALLE KANDA

イベントページ

containerdays.jp

Twitter

twitter.com

keynote K-1 Production User Stories

サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術

  • 登壇
  • AKEとは
  • AKEの特徴
    • k8s & swarm(マルチコンテナオートスケールエンジン)
      • docker swatm
      • kubernetes
    • openstak integration
      • openstackのintegrationが使用可能
    • L4/L7 ロードバランサ
      • cloud provider integrationで実装
      • ingress controller
        • GKE
          • 1step
        • nginx
          • 数step
    • アドオン機能(datadog, kibana, fluentd etc)
      • datadog, prometeus
      • kibana, fluentd
    • アドテクようにチューニング済み
      • network
      • k8s
      • kernel
      • hypervisor
    • container runtime
      • これから実装

マイクロサービスアプリケーションとしての機械学習

  • 登壇
    • Takuma Yamaguchi(Mercari)

"Yahoo! JAPANのKubernetes-as-a-Service"で加速するアプリケーション開発

  • 登壇
  • 構成
  • サービス
    • いい買い物の日
  • 開発フローの改善
    • k8s導入前
      • jenkinsを中心にテストをデプロイ
      • リリースまの時間
        • 数時間
      • 障害調査
        • 全サーバのログ集め
    • k8s導入後
      • コンコースが中心のテストとデプロイ
      • github上でデプロイまでいける?
      • リリースまの時間
        • 10分程度
      • 障害調査
        • splunkによるログ検索やグラフ化
  • k8s導入で大変だったこと
    • 考え方/設計方針のスイッチ
  • 今後実施したいこと
    • worker nodeの適正数の自動算出
    • 共通機能の切り出し
    • リリース手段の検討
  • Kubernetes as a service
    • 特徴
      • セルフヒーリング
      • ゼロダウンタイムのアップグレード
      • クラスタのアドオン
    • 価値
      • 煩雑なk8sのオペレーションから運用者を開放する
    • 要件
      • スケーラブル
        • 管理対象が数万台でも問題なく動作する
      • 非同期モデル
        • マシン(VM)の準備などの処理が完了するまで時間がかかる
      • 堅牢性
        • 処理が失敗しても再開出来る
    • kubernetes as a service on kubernetes
      • 有用な機能
        • CustomResourceDefinitions(CRD)
        • カスタムコントローラの実装
  • まとめ

CFP C-1 (13:00-13:40)

Custom MetricsとMultiple Metricsを使ってKubernetesのクラスタの強みを最大限活用する

  • 登壇
  • wontedly
    • multi cloud
  • HPA
    • Horizontal Pod Autoscalers
  • なぜ検討するか
    • 突然のスパイクにも勝てるインフラ
    • microservicesをする上でscaleの課題を無くす
    • 新規サービスも反映出来るgeneralな設定

speaker decで資料公開

Container Networking Deep Dive

C-2

Spinnakerを利用したKubernetesへの継続的デリバリ

  • 登壇
    • Takashi Mizouchi(AP Communications)
  • 最初は基礎的な話
  • spinnakerとは
    • 用途
      • k8s上でCI/CDをするツール
      • CI/CDの機能は無い
    • Netflixの作ったOSS
    • マルチクラウド対応
    • アプリケーションの自動デプロイに必要な機能搭載
  • 機能
    • 複数のデプロイメント方法
      • red/black deploy(blue/greenと同じ)
      • rolling red/black deploy(rolling deployと同じ)
      • canary deploy(カナリアデプロイ)
    • 進捗状況の通知
      • mail, slack
  • その他の機能
    • white-listed execution windows
    • chaos monkey integration
    • enable monitoring
      • datadog
      • prometheus
  • 所感
    • CDする上で必要な機能が過不足無く揃っている
    • spinnaker上でk8sのコンポーネントを作成出来るのは便利
    • 機能充実が進んでおり、今後も期待

CFP C-3

Helmを利用したKubernetes as a Serviceの実装

  • 登壇
    • Motohiro Otsuka(NEC Solution Innovators)
  • helm
    • k8sにおけるパッケージマネージャ
  • KaaSを実現する
    • k8sでhelmを使って、k8sをデプロイする
  • demo
    • KaaSでnginxをデプロイする

Google Kubernetes Engineにおけるバッチ処理のパターン

  • 登壇

    • Shota Yoshikai(Kabuku)
  • gkeにおけるバッチ処理

    • どのようなパターンがあるか
    • 構成例
  • バッチ処理の定義

    • 数秒から、数時間かかる
    • 非同期(今回のみ)
  • バッチ処理のパターン

    • k8sのjob
    • メッセージキューイングと合わせる 
  • k8sのjob
    • 一度きりの処理を実行させるためのコンテナ
      • 処理が終わるとコンテナが終了
    • k8sの標準
    • リトライ機能
  • jobのみを使う構成
    • メリ
    • デリ
      • jobの数が増えると管理が肥大化
  • メッセージキューイング
    • メリ
      • jobのみの構成の問題解決
        • リソースの負荷軽減
      • 処理順番を制御
    • デリ
  • クラウドのメッセージキューイング
    • GCP
      • Cloud Pub/Sub
  • 構成例
    • タスクのリトライ
    • 3D解析
    • CPU/GPUをともに使う

C-4

『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法!

  • 登壇
    • Kazuto Kusama(Pivotal)
  • アンケート
    • 参加者の46%が本番環境でコンテナ運用している
  • なぜコンテナが普及しないのか
    • 技術的に楽しい
    • コンテナは辛いとこがある
  • なぜつらいのか
    • コンテナ技術は抽象度が低すぎる
    • エンジニアがカバーしないといけない責任範囲が広い
    • k8sはgoogleのbrogが元
      • googleのエンジニアだから出来る…
      • googleの社員だから理解出来る…
  • クラウドについて
    • 10年前
      • IaaSの基礎
    • 5年前
      • 自動化
    • 循環している…
  • PaaS
    • エントリーポイントは変わっていないが、バックアンドは日々進化している
  • Serverless
    • FaaS(function as a service)
    • BaaS(backend as a service)
  • CaaS,PaaS,Serverlessのうち何を採択するか
    • どの選択肢のメリットを取るか
    • CNCF Serverless Whitepaper
    • CaaSのメッリット
      • 柔軟性
    • PaaSのメリット
      • 開発に集中できる
    • FaaSのメリット
      • スケーラブル
  • 評価するべき点
    • 強靭性
    • スケーラビリティ
    • パフォーマンス 
    • アプリケーションはステートフルかステートレスか
    • アプリケーションの更新頻度
  • 潜在的なコストも考慮
    • 誰もが一からアプリを作れる恵まれた環境にいるわけではない
    • 依存サービスとの関係性
    • CaaSにおけるセキュリティの問題
    • ベストプラクティスへの取り組み
    • ベンダーロックインへの考え方

A-5

Istioと共にマイクロサービスに立ち向かえ!

  • 登壇
    • Aya Igarashi(Z Lab)

https://speakerdeck.com/ladicle/istiotogong-nimaikurosabisunili-tixiang-kae