Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Minikubeの重要性について まずは何故こんな記事を書くことになったかというところからお話ししたい。皆はKubernetesにApplicationをDeployする時にどのような工程を踏んでいるだろうか。もし、Dockerで動作しているものがそのままKubernetesでも簡単に動くものだと考えている方がいるなら、残念ながら私と同様大きな失敗をしてしまうことだろう。Komposeなるものが世の中に存在しているくらいだからDockerからのKubernetesへの移行はそれほど高くないものだと思っていた。しかし、KubernetesはKubernetesの考えに基づいてDeployされるものだからDocker Imageだけあれば何とかなるななどという簡単な話ではないのだ。この変換部分について今のところMinikubeが一番利用価値の高いものだと思ったのでここに記載しておくことにする。
概要 EKSの使用開始 に従ってセットアップすると、以下の3つをローカルにインストールすることになります。 kubectl heptio-authenticator-aws AWS CLI PCを変えるたびにこれらをセットアップをしないで済むよう、コンテナ化しました。 構築 Dockerイメージ作成 以下のDockerfileを作成します。 FROM alpine:3.8 RUN apk add --no-cache curl python RUN curl -o /usr/local/bin/kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/bin/linux/amd64/kubectl \ && chmod +x /usr/local/bin/kubectl RUN curl -o /usr/
[root@master ~]# lscpu |grep vmx Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch t
$ uname -a Linux mina 4.13.0-45-generic #50-Ubuntu SMP Wed May 30 08:23:18 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=17.10 DISTRIB_CODENAME=artful DISTRIB_DESCRIPTION="Ubuntu 17.10" $ minikube version minikube version: v0.25.2 $ kubectl version Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5
概要 Google Cloud Next '18において、「Knative」が発表されました。 Knativeは、コンテナのオーケストレーションツールであるKubernetes上でアプリを動かす際の手順(ビルド、デプロイ、サービスの管理)を簡略化してくれるツールとのことです。 このエントリでは、ローカルマシン(mac)1台で、Kubernetes環境構築用のツール「Minikube」を利用してKubernetes環境を作り、その上でKnativeを動かすまでについての手順を紹介します。 (図:「$ minikube dashboard」を実行して、デプロイ後のサービスを確認したものです) 対象読者 Knativeの動かし方を確認したい方 Kubernetesが何をしてくれるものかの知識がある方 前提 このエントリでは、2018/7/25時点で利用可能な以下のバージョンを利用しています。 M
$ cat <<EOF > /etc/yum.repos.d/virtualbox.repo [virtualbox] name=Oracle Linux / RHEL / CentOS-\$releasever / \$basearch - VirtualBox baseurl=http://download.virtualbox.org/virtualbox/rpm/el/\$releasever/\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc EOF $ yum install -y VirtualBox-5.2 This system is currently not set up to build kernel mo
RUN cd /tmp RUN wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.4.tar.gz RUN tar zxvf nagios-4.0.4.tar.gz RUN cd /tmp/nagios-4.0.4 RUN ./configure --with-command-group=nagcmd よくあるtarballをダウンロード➡️解凍➡️configure➡️makeする流れ。 今回は/tmpにダウンロードして解凍、フォルダへ移動しconfigureすると考えていた。 しかし、docker buildでimageを作成する際、一命令毎にコンテナが作成される。 次の命令は前の命令のコンテナを基にした新しいコンテナで実行されるため、 カレントディレクトリは常に"/"となる。 この状態でbuil
QEMUのユーザーモードをDockerコンテナ上で使おうとした際に発生した問題のメモ。 環境 Debian wheezy on Docker QEMUインストール時に発生するエラー バイナリで提供されているユーザーモードQEMUをインストールする。このパッケージは、インストール時にbinfmt(ネイティブとは異なるアーキテクチャ向けのバイナリをQEMU経由で実行するために必要)の設定を行ってくれる。しかしDockerコンテナ上では、その際に行われるmountコマンドの実行がエラー終了する。 (docker host)$ docker run -it <image> /bin/bash (docker container)$ apt-get install -y qemu-user-static ... mount: permission denied update-binfmts: war
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 何故コンテナなのか コンテナとはなにか Dockerを学ぶ前に、まずコンテナとは何か?VMと違って何が嬉しいのかを知ると良い。 まず、コンテナの具体例としてはDocker以前からあった、LXC (Linux Containers) というものがあるので、それを説明した以下のページがわかりやすい。 Linuxコンテナ(LXC)の基礎をまとめ直す - CTC教育サービス コンテナ型仮想化は、技術的には 「ユーザー空間を分離して、それぞれが見えるプロセス、ファイル、ネットワーク、CPU/メモリ/デバイスなどのリソースを制限する」 ということを
なぜDockerコマンドにはsudoが必要なのか? The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user. To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it make
単一ホスト内での Docker のネットワークの仕組みをまとめてみる。 全体像 まず、Docker のネットワークは以下の図ような構成になっている。 ざっとポイントをまとめるとこんな感じ。 ホストには docker0 という仮想ブリッジが作成される コンテナは veth を介して仮想ブリッジに接続される コンテナ内からは eth0 というNIC があるように見える(実体は veth) コンテナ内の eth0 には、空いているIPアドレスが自動で割り当てられる(なので、IPアドレスは不定)。 コンテナからホストの外部に通信するには、NAT(IPマスカレード)が使われる 単一ホスト上のコンテナ間の通信は、仮想ブリッジを経由して行われる(なので、コンテナ内で見える 172.17.0.0/16 のアドレスを使って通信できる) もう少し詳しく 分からないところを調べてみた。 仮想ブリッジ Linux
docker-machineをVirtualBoxで使っているときにデータを永続化したい場合には、 Data Volumeと共有フォルダ機能を組み合わせてデータを保存する方法があります。 基本的な使い方と、任意のディレクトリをマウントする応用形の2種類を用意しました。 ちょくちょく読み替えればMacでも使えると思われます。 前提 Windows 10 VirtualBox 5.0.6 Docker Toolbox 1.8.2c dev という名前で VirtualBox上に docker-machine VM を用意しています 【基本形】C:\Users 配下をData Volumeにする場合 まずは基本形。docker-machine (旧 boot2docker)は Windows環境であれば、 C:\Users をVirtualBox共有フォルダとしてdockerホストの /c/Us
Dockerの覚書です。 #Dockerの基本的な使い方 ##Dockerとは ITproだったかどっかのページのリンクを張る。 Docker本家のページも良いですが、@ITの記事のほうが解りやすいと思ったのでそのリンクを載せます。 http://www.atmarkit.co.jp/ait/articles/1405/16/news032.html Docker本家: http://docker.com/ ##用語 イメージ:コンテナが動作するためにベースとなるファイル群。コンテナによってイメージが変更されることはなく不変のもの。Docker Hubから取得可能。CentOSイメージが汎用的なので初心者には使いやすいと思う。 コンテナ:イメージから作成されたインスタンスのようなもの。コンテナが動作することで生成されたファイルは、イメージではなくコンテナに紐づいて管理される。ざっくり言うと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く