キーボード買った

キーボード買ったことのメモメモ

 

元々↓のキーボードを持ってたんだけれども、

 年末年始にスープをこぼしてキーが引っかかるようになってしまった

キーを掃除しようとしてキートップ外してたら完全に爪が逝ってしまったので、
買い換えることにしました

 

ちょっと割と使い心地は悪くなかったったんだけど別のもの使ってみようかなーということで、これを買ってみた

 

結果としてはあんまり自分にはあってなかった。

打鍵感が結構固め・重めなのと、キーピッチが狭いから手がキュってなって辛い。

 

あとはFnのトグル切り替えが簡単にできなさそうだった(多分出来ない?)

 

今これを注文してて、これがどんな感じかを確認してみる予定

 

 自分的にはK750が一番つかやすくて充電いらずで素晴らしかったけど、
いかんせんでかすぎたのでK760のWindows版が出てくれれば即乗り換えたい

 

とかいうキーボード購入メモ

勉強会メモ - コンテナ仮想化「Docker」技術勉強会

コンテナ仮想化「Docker」技術勉強会

IIJさんで開催された[コンテナ仮想化に参加してきました。

自分のメモ書き代わりに投稿
#公開まずかったらコメントいただけるとすぐ消します。
#メモしたあとからまとめたから自分の妄想が入ってるかも

仮想化、クラウドの次に来る「コンテナ化」

Red Hat K.K. Cloud Evangelist 岩尾はるかさん @Yuryu

Dockerとは

  • コンテナ技術を使ったプラットフォーム
  • Kubernetesなどの周辺ツールなどと連携して動くことも出来る

Dockerのトレンド状況

  • 最近ではGoogle TrendsでDockerがOpenStackを抜いた
  • Docker v1がリリースされてからのとても話題になっている

コンテナとは

  • VMと違ってコンテナ型は、ホストOSから見るとプロセスにしか見えない
  • VMと違ってIO等の経路が通常と変わらないから、オーバーヘッドが殆ど無い
  • コンテナ自体はLinux標準の技術
  • Googleとかもかなり昔から使っている
    • かなり枯れた技術であるといえる
  • コンテナごとにリソースの管理方法を変える仕組み
    • PID1が重複してもいいように分離
    • 同じパスのファイルが存在していいようにファイルシステムも分離
  • ソフトウェア仮想化の仮想マシン上でも共存、動作が可能
    • 移動しやすいよね!

DockerとLinuxコンテナの関係

  • Dockerは既存のLinuxカーネル上の機能を活用
  • Docker自体はコンテナを起動/終了するときに、Linuxカーネルの機能を叩くだけのイメージ
  • プロセスが上がるだけのイメージのため、起動/終了がとても高速
  • OSのイメージ的な部分もコンテナの中に持っていく
    • ホストOSがUbuntuでも、その上でCentOSを動かせたりする

Dockerの価値

  • Dockerの価値はTechnologyではなく人々が合意できるプラットフォームであること
  • BSDではJailとかがあったし、コンテナって元々Solarisのやつじゃん
    • その機能はこれまで使いやすかった?
    • Dockerfile1つで簡単に使いはじめることができた?
      • そういうのを簡単に使えるプラットフォームとしたのがDocker

Dockerへのサポート

  • 様々な企業がDocker対応しようとしている
  • RedHatが開発しているOpenShiftはv3でDocker対応
    • 基盤としてKubernetesを採用して対応
  • Chef for ContainersというライトウェイトなChefも登場

コンテナ向けLinux

  • コンテナ向けLinuxを各団体で提供し始めている
  • フットプリントが小さい
    • メモリをホストOSでそんなに使わないため、コンテナに有効活用
    • セキュリティホールになりそうなソフトウェアをホストOSに入れなくてむす

Dev Ops

  • 今まではライブラリのVerUpとかはOpsに依頼しないといけなかった
    • Devがライブラリまで入れたのをコンテナとして提供して展開できる
    • OpsはOSとインフラ管理に集中できる
    • DevとOpsが本来やりたかったことに集中できていいよね

ポータビリティ

  • ソースコードとしてではなく、全く同じバイナリとして持ち運べる
    • 検証と本番でビルドが異なって動かないとかがなくなっていいよね

Red HatのDockerへの取り組み

  • Docker専属エンジニアが対応している
  • Dockerは元々AUFSを使っていた
    • DeviceMapperのほうが信頼性、パフォーマンスがいいから対応というのを日々行ってる

RHEL7での対応状況

  • 標準対応
  • ただし、現時点ではミッションクリティカルな環境では非推奨

RHEL6 -> RHEL7への移行

  • 互換性とかを気にせず移行することが出来る
  • OSレベルの機能向上をすぐに活用することが出来る
    • 例えば、NW IFの性能向上とか

RHEL Atomic Host

  • コンテナホスト向けのOS
  • rpm-ostreeという新しいパッケージ管理方法
  • ベータ版提供中
rpm-ostree
  • Atomic Host向けの yum の代替
  • パッケージを依存関係で管理はしない
    • パッケージツリーをスナップショットで保存
    • スナップショットごと丸ごとアップデートという形をとってる

Q&A

    1. rpm-ostreeのスナップショットの仕組みってどうなってるの?
      1. 多分SymLink的なのでやってる
    1. RHELのコンテナ作ったらライセンスってどうなるの?
      1. ホストOSのRHEL分だけでいいように調整してる
    1. RHELのイメージをDockerHubにあげていいの?
      1. なんともいえないのでわかったら連絡します

Dockerの仕組みとIIJ社内での利用例

株式会社インターネットイニシアティブ シニアエンジニア 前橋さん

Dockerとは?

  • Docker Engine と Docker Hub を合わせたプラットフォームのこと
  • 普段手元で操作してるのは Docker Engine の部分

コンテナとは?

  • Namespaces, Cgroupsとかの機能でリソース分離/制限をかけて実行されるプロセス

Docker Engineの構成

  • Docker Client と Docker Daemon から成っている
    • Clientがいつも打ってるコマンドを提供するもの
    • Daemonがコンテナ作ったりHubにコンテナpushしたりしてくれてる
  • それぞれの間はHTTP(unix/socket/tcp)で通信している

Dockerを使ったコンテナ起動の流れ

  • よく使う docker run は、 docker create + docker start
    • docker createで必要なコンテナに必要なファイルシステム等を生成
    • docker startは内部でdockerinitを叩いてる
      • 設定ファイルを生成した後、cloneすることで新規Namespaceを作ってうまいことしてくれている

IIJ内でのDocker利用例

継続的インテグレーションに利用

  • 継続的インテグレーション(CI)に使っている
  • CIサーバとしてdroneを使っている
  • 作成されたプログラムをdockerコンテナを作ってその中でテスト
    • テストが通り作られたソフトウェアは自動的にRPM化される
    • 作られたRPMは社内共通リポジトリに保存されていく
    • Serfも入れてるのでRPM保存をトリガにyum updateとかでプログラムの最新化とかできそう

コンテナのクラスタリング

  • fig, Kubernetesとかがあるが、IIJでは内製した
    • docker manager
    • コンテナがほしい際は数とかをオーダーすると自動的に立ち上げてくれる

コンテナのメトリクス管理

  • 全てのコンテナにsnmpdとかエージェントを入れたくなかった
  • cgroupsの統計情報やnetns切り替えでメトリクス収集可能
    • docker-metricsdというのを内製して収集できる仕組みを作った

Q&A

    1. DockerコンテナのNWはどうやって管理してる?
      1. 大きめのL2空間にコンテナ全てが足を出している

DockerとKubernetesが作る未来

NTT Communications IT Architect 草間さん @jacopen

DockerのProduction環境

  • Dockerは便利
    • Production環境にDocker展開するときはどうする?
    • NWの管理は?
    • ホストがダウンした場合は?
      • 試験環境なら手動対応出来るかもしれないけど、本番でどうやるの?
        • そこでKubernetes

Kubernetesとは

  • Googleが公開したコンテナ管理ツール
  • 様々なベンダーが支持を表明している
  • 色々な環境で使うことも出来る

Kubernetesの機能

  • MasterとMinionがある
    • Masterが管理ノードのイメージ
    • Minionが実際にコンテナを動かすノード
  • ReplicationControllerが監視
    • コンテナが落ちたりしたのを検知したら自動的に立ち上げてくれる
  • コンテナ単位での管理ではなく「Pod」単位で管理
    • 関連するコンテナ群をまとめて管理/監視できる
  • どこのMinionでコンテナが動いているかを気にする必要がない
    • Kubernetesが管理してくれる

Kubernetesの今後

  • 現時点ではPre-Production betaという状態
    • 来年ぐらいにはProductionになると思う

Kubernetesを実際に使うには

  • Githubに公開されているので、それを使って自前環境に構築
  • Kubernetesを自動で構築してくれるサービス使う
    • Google Container Engineとかがやってくれる
    • vSphereとかAzureも同様に出してくれると思う
  • OpenShiftは次期バージョンでコンテナ管理にKubernetesを利用

KubernetesとPaaS

  • PaaSをWebサービス提供を支援するものと定義
  • Kubernetesだけではロギング、メトリクス取得とかができない
    • これを補うならOpenShiftとかのPaaSが必要

Kubernetesの未来

  • ついこの前CoreOSがRocketを発表
    • Dockerの発表を決めて2週間で環境が変わってしまう
    • Production環境に適用するのは怖いかもしれない
      • でもそれに対応してこそエンジニアの本分だし、楽しい所だよね

gitlab omnibusでAccess Deniedで怒られた


Access denied.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

みたいな感じで怒られました

複数のユーザで同じキーを追加ー>削除してしまって、
gitlabで管理してるauthorized_keysに複数同じキーが登録されてしまったみたい。

ログインユーザが別のユーザとして認識されてしまっている模様。

そんなときは

  • /var/opt/gitlab/.ssh/authorized_keys

のそれっぽいキーを削除して対応しますた