銀河の歴史がまた1ページ(日記)

Last Update (2020/07/23 16:06:54)
1997.09.06から数えて counter 番目のアクセスです。

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

ページ内目次


■ 宇宙暦 2017.12.08

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171208

2017.12.08(金) Google検索 医療情報の検索ランクロジック変更

ググるとウソ広告サイトばかりヒットする健康医療関係の情報だが、検索ロジックを変更したらしい。

素人のまとめ記事の検索ランクが下がったとのこと。

真贋判定までGoogle様の言う通りかよ...とも思うが、 実際問題WELQみたいなウソ広告サイトが検索ランキングを圧倒している現状、 どうしようもないのか。

2017.12.08(金) Windows 10のDocker Toolbox ( 17.10.0-ce ) のDocker Quickstart Terminalでエラーになる場合

つまり、以下のような修正で動作するようになる。

george@KabyLakeS /c/Program Files/Docker Toolbox $ diff -uw start.sh.orig start.sh
--- start.sh.orig       2017-10-19 00:09:36.000000000 +0900
+++ start.sh    2017-12-08 21:58:04.894821700 +0900
@@ -7,7 +7,7 @@
 # Docker for Windows when launching using the Quickstart.
 export PATH="/c/Program Files/Docker Toolbox:$PATH"
 VM=${DOCKER_MACHINE_NAME-default}
-DOCKER_MACHINE=./docker-machine.exe
+DOCKER_MACHINE=docker-machine.exe

 STEP="Looking for vboxmanage.exe"
 if [ ! -z "$VBOX_MSI_INSTALL_PATH" ]; then
george@KabyLakeS /c/Program Files/Docker Toolbox $

Docker Quickstart Terminalのショートカットのプロパティを見ると、作業フォルダはC:\Program Files\Docker Toolbox\になっているから問題無さそうに見えるけど、 Docker Quickstart Terminalから起動されるbashは、(おそらく環境変数 HOME に従って ) C:\Users\georgeディレクトリにいるのでdocker-machine.exeが起動できないのだな。


■ 宇宙暦 2017.12.09

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171209

2017.12.09(土) Word Pressにおけるカテゴリーとタグのメモ

Word Pressでは、カテゴリーとタグがあって、以下のような分類になる模様。

Word Pressなかなか便利だな。

というわけで、俺のwikiにタグ宣言とタグ検索を実装してみた。 行頭に「tag:キーワード」と書くと、記事にタグ設定をしたことになり、タグ検索リンクを生成する。

tag:wiki

HTML変換後だと検索サイトが無い(というかURL公開してもlocalhost...)のでタグ検索リンクは元々のtag文字列のまま表示する。

タグ指定のアーカイブ表示モードもつけたい所だが、後日の課題としよう。


■ 宇宙暦 2017.12.10

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171210

2017.12.10(日) Google Kubernetes Engine (GKE) 使ってみた

tag:gke

とりあえず公式ページだけ読んで進めてみる。

GKE1.8.4でノードプールのノード数1、ノードのメモリ1GB設定で起動したら、heapster-v1.4.3のPodがメモリ不足で起動しなかった;;

意外に基本構成の監視系Pod+ログ転送系Podでメモリ食うのね。

heapsterとは何ぞや?という話は以下。

要するにCPUやメモリなどのリソース使用量を定期的に取得してDBとかStackdriverに転送する監視Pod。 heapsterが動いていると、kubectl top pod --all-namespaces (topコマンドみたいなモン) で情報が取れるようになるのだ。

一度1GBメモリに設定したKubernetesノードプールのインスタンスのメモリを後から増やすのは無理だったので、 一回Kubernetesクラスタを全消去。

ノード数1、メモリ2GBのノードプールを持つKubernetesクラスタを作成して実験。 これならheapster-v1.4.3 Podが起動する。

うーん。メモリ2GB必須かぁ。

今Amazon AWSから借りている Lightsail (Virtual Private Server)(VPS) はvCPU:1、メモリ:1GB構成で月額$10(約1000円)。 ここに俺のwikiを載せて遊んでいる。現状dockerは使っていなくてapache + tomcatを直接動かしているけど。

GKEも似たような値段で使えれば良いのだけど、自分のアプリ載せる前にメモリ2GB必須となると微妙なラインかもしれんね。 今現在、2GBノードに対してkubectl top nodeした時のメモリ使用率は48%。 俺のwikiはJavaのheapだけで600MB使うから、2GBノードじゃ足りないかもなー。むむむ。

まぁ、Kubernetes自体がそもそも大規模向け(ノード数3以上)管理ツールってのはあるんだけどもwww

2017.12.10(日) docomo SHARP AQUOS R SH03-J Android 8.0 Oreo へのアップデートきた

2017年7月16日に機種変更したSHARPのAndroid機 AQUOS R SH03-J にOREOアップデートがきた。

Oreo自体は2017年08月22日リリースなので、4カ月くらいで追いついた計算になる。結構早いかも?

Oreoについてのまとめは以下。

それでは早速アップデート。

フリック入力の時にバイブレーションするようになってしまったけど、どこで止めるんだっけ。 設定項目がたくさんありすぎて、設定の中で「バイブ」を検索して発見w

Android 8.0感が欲しかったので、ホーム表示をdocomo LIVE UXからAQUOS Homeに変更。

うはwww アプリの並びがぐちゃぐちゃにww TwitterとかInstagramアプリがどっかいったwwwアプリ一覧にも居ないwwwなんぞww

などと大混乱中。

ホームアプリ変更って結構大変なことなんやねぇ。


■ 宇宙暦 2017.12.11

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171211

2017.12.11(月) カリフォルニアの火災

なんか凄いことになっているようだ。

現地取材した山村さんの記事。上は今年の10月のヤツで、12月のヤツじゃないけど。

NHKとかCNNみたいな記事を短くまとめちゃうサイトでは乗らないような細かい話も載ってる。

避難所の様子が簡易担架ベッドベースなのは結構いいかもね。日本だと体育館床面直接だけど。


■ 宇宙暦 2017.12.15

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171215

2017.12.15(金) chrome用 Webページ作者に便利なプラグイン紹介

「HTMLエラーチェッカー」だけ試したけど、割と便利だった。

リンク先チェッカー「Check My Links」とかも便利そう。後で試そう。

2017.12.15(金) twitter社 mstdn.jpの管理者のtwitterアカウントを凍結

ぬるかるさん、あんま変なツイートはしない印象だけどな。

競合潰し?

p.s.

どうも、twitter APIを使って何か開発している人は粛清されている模様。toggeterも垢凍結されたらしい。


■ 宇宙暦 2017.12.16

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171216

2017.12.16(土) Google Kubernetes Engine (GKE) 使ってみた (part 2)

tag:gke

今回も公式ドキュメントだけ見て遊んでみる。

以下、ちと困った点だけ補足説明を記述。

Your current project has been set to: [xxxx-xxxxxx-xxxxxxx].

Do you want to configure Google Compute Engine
(https://cloud.google.com/compute) settings (Y/n)?  n

ここらでクイックスタートに従って適当なdocker imageを走らせてみる。

  1. Kubernetesクラスタを作成します(このステップには数分かかることがあります)(まだクラスタを作っていない場合)(メモリ量はn1-standard-1の3.75GB。gcloudコマンドからはメモリ量は指定できない模様)。
    gcloud container clusters create example-cluster --zone us-central1-a --machine-type n1-standard-1 --num-nodes 1
  2. 既存のクラスタを使用する場合は、クラスタ名を指定して接続情報を取得。
    gcloud container clusters get-credentials example-cluster
  3. これから操作を行うデフォルトのクラスタ名を指定します。
    gcloud config set container/cluster example-cluster
  4. 現在選択中のコンテキスト名を表示します。クラスタ名が表示されます。
    kubectl config current-context
  5. メモリの消費量をチェックします。
    kubectl top node
  6. コンテナを実行します。(docker imageを指定するだけでdeployment自動生成)
    kubectl run hello-web --image=gcr.io/google-samples/hello-app:1.0 --port=8080
  7. コンテナを公開します。(serviceの生成)
    kubectl の type="LoadBalancer" オプションは、通常のロードバランサの料金に従って課金されるロードバランサをコンテナ用に提供するよう Google Cloud Platform に対して要求しています。
    kubectl expose deployment hello-web --type="LoadBalancer"
  8. hello-web アプリの外部 IP アドレス(EXTERNAL-IP)をコピーします。(ちょっと時間がかかる。Pendingならしばらく待ってもう一度。)
    kubectl get service hello-web
  9. アプリを表示します(EXTERNAL-IP を前のステップで取得した外部 IP アドレスに置き換えます)。
    http://EXTERNAL-IP:8080/
  10. 作成したサービスを削除して、サービスを提供するようにプロビジョニングされた負荷分散リソースを削除します。
    kubectl delete svc/hello-web deploy/hello-web
  11. サービスが停止するまで待ちます。
    kubectl get all,svc
  12. メモリの消費量をチェックします。
    kubectl top node
  13. サービスが終了するまで数分待ってから、次のコマンドを使用して作成したクラスタを削除します。
    gcloud container clusters delete example-cluster --zone us-central1-a

うんうん。普通に使える。俺のwikiのdockerイメージも同じ手で動く。

この段階でノード数は1個だけどメモリは3.75GBの石油王構成になってるので、常用は厳しいかなー。月額5,000円コースになる。

俺のwikiだけじゃなくて、たくさん(20個以上)マイクロサービスを立ち上げるならdocker手動管理もメンドクセ限界にくるから話は別になるかもだが。

やっぱこう、root権もらって自作で建てるVPS(Virtual Private Server)より割高な気がww (そのぶん、VPSだと設定の手間とかOS周辺のapt-get update ; apt-get upgradeの手間とか増えるけど)


■ 宇宙暦 2017.12.17

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171217

2017.12.17(日) Google Kubernetes Engine (GKE) 使ってみた (part 3)

Google Kubernetes Engine (GKE) 使ってみた (part 3)

tag:gke

公式ドキュメントに沿って遊んでみる...途中から外れるけど。

Persistent Diskの使用例はいきなり英語になっててワロタw

原文の英語版が凄い勢いで変化するから翻訳するの大変だけどさ。

GKEではvolumeとかsecretsを使う場合は、manifestファイル(APIで送るJSON内容)は手書きか。

実際にGKEを使う人はなんかツール使って自動生成するんだろうけど、あまり人力でやりたくないモノだなぁ。

以下はチュートリアルから離れて俺のwiki向けの操作に改変してある。

  1. Kubernetesクラスタ作る(数分かかる)(diskサイズはGCEの無料枠30GBにしてある。指定しない場合は100GBとなる。)
    gcloud container clusters create persistent-disk-tutorial --zone us-central1-a --machine-type n1-standard-1 --num-nodes 1 --disk-size 30
  2. persistent disk の表示。
    gcloud compute disks list
    以下実行例
    NAME ZONE SIZE_GB TYPE STATUS
    gke-persistent-disk-tuto-default-pool-xxxxxxxx-xxxx us-central1-a 30 pd-standard READY
  3. 現在選択中のコンテキスト名を表示。例:gke_{PROJECT_ID}_{zone}_persistent-disk-tutorial
    kubectl config current-context
  4. メモリの消費量をチェック。いきなり3.75GBノードの半分食われてるように見えるが・・。
    kubectl top node
    以下表示例
    NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
    gke-persistent-disk-tuto-xxxxxxx-xxxx-xxxxxxxx-xxxx 58m 6% 1432Mi 54%
  5. クラスタ情報を表示。GKEは色々動いている。minikubeの場合は1個しか動いていない。
    kubectl cluster-info
    以下表示例
    Kubernetes master is running at https://xx.xxx.xxx.xxx
    GLBCDefaultBackend is running at https://xx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/default-http-backend/proxy
    Heapster is running at https://xx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/heapster/proxy
    KubeDNS is running at https://xx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/kube-dns/proxy
    kubernetes-dashboard is running at https://xx.xxx.xxx.xxx/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy
  6. storageclassの存在チェック。GKEはstorageClassName: standardが使えるのね。
    kubectl get storageclasses
    以下表示例。
    NAME PROVISIONER
    standard (default) kubernetes.io/gce-pd

以前のチュートリアルでkubectl run でdocker imageを直接走行させていた時は、自動生成されていたdeployment設定。 今回はvolume周辺の設定が増えているので、残念ながら手動生成となる。 (これくらいの内容ならkubectlで自動生成してくれても良さそうなものだが。)

ここでは、「claim-kjwikigdockerという名前のpersistent volume claimをvolumeとして使う。dockerコンテナからのmount位置は/var/lib/kjwikigdockerだ。」 という記述になっている。

元々のチュートリアル( https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk )では、「volumeとしてgcePersistentDiskを使う」と直接記述している。

これやるとminikubeとか別の環境で動かなくなるので後で面倒くさい感ある。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: kjwikigdocker-deployment
  labels:
    app: kjwiwikigdocker
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kjwikigdocker
  template:
    metadata:
      labels:
        app: kjwikigdocker
    spec:
      containers:
      - name: kjwikigdocker-container
        image: georgesan/kjwikigdocker:latest
        ports:
        - name: kjwikigdocker
          containerPort: 8080
        volumeMounts:
        - name: kjwikig-data-volume
          mountPath: /var/lib/kjwikigdocker
      volumes:
        - name: kjwikig-data-volume
          persistentVolumeClaim:
            claimName: claim-kjwikigdocker

上で「claim-kjwikigdocker」という名前のpersistent volume claimをvolumeとして使う、と言っていた中身を作成。

persistent volume claimという形式を使って、 「Read/Write可能な1GBのディスクが欲しい。ディスクの種類はstandardで良い。1ノードから使えればいい。」 という抽象的な記述になっている。

元々のチュートリアル( https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk )にあるように、 別途GCEに物理ディスクを用意してpersistent volumeとする手もあるのだが、 storageClassName: standardの場合は物理ディスクは自動的に要求(claim)に応じたディスクが用意される。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: claim-kjwikigdocker
spec:
  # if you ommit storageClassName, standard is default.
  # storageClassName: standard
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

以前のチュートリアルでは kubectl expose で行っていた操作。serviceの作成。 deployment.yamlを手動で生成してしまったので、自動生成できない。 というわけで手動でAPI用のJSONを作成する。

typeのところは、置く場所(GKE, minikube, ...etc)によって記述が異なる。 standard みたいなデフォルトは無いようだ。

kind: Service
apiVersion: v1
metadata:
  name: kjwikigdocker
  labels:
    app: kjwikigdocker
spec:
  # type ClusterIP(default) / NodePort(for minikube) / LoadBalancer(for GKE)
  type: LoadBalancer
  selector:
    app: kjwikigdocker
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080

操作の続き。

  1. persistent volume claim の作成
    kubectl apply -f kjwikigdocker-standard-pvc.yaml
  2. persistent disk の表示。
    gcloud compute disks list
    以下表示例。1GBで別領域が作られてる。
    NAME ZONE SIZE_GB TYPE STATUS
    gke-persistent-disk-tu-pvc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx us-central1-a 1 pd-standard READY
    gke-persistent-disk-tuto-default-pool-xxxxxxxx-xxxx us-central1-a 30 pd-standard READY
  3. deployment の作成
    kubectl apply -f kjwikigdocker-deployment.yaml
  4. serviceの作成。GCEの有料オプションであるLoadBalancerを指定している。(俺のwikiはPod増やすと正常動作しなくなるから、ロードバランサー不要だけどなー)
    kubectl apply -f kjwikigdocker-service.yaml
  5. アプリの外部 IP アドレス(EXTERNAL-IP)をコピー。(ちょっと時間がかかる。Pendingならしばらく待ってもう一度。)
    kubectl get service kjwikigdocker
  6. アプリを表示(EXTERNAL-IP を前のステップで取得した外部 IP アドレスに置き換える)。
    http://EXTERNAL-IP:8080/
  7. メモリの消費量をチェック。(アプリが起動した状態。ここでは2112Miほど。79%。)
    kubectl top node
  8. 作成したサービスを削除して、サービスを提供するようにプロビジョニングされた負荷分散リソースを削除します。
    kubectl delete svc/kjwikigdocker deploy/kjwikigdocker-deployment
  9. サービスが停止するまで待ちます。
    kubectl get all,svc
  10. メモリの消費量をチェックします。
    kubectl top node
  11. サービスが終了するまで数分待ってから、次のコマンドを使用して作成したクラスタを削除します。
    gcloud container clusters delete persistent-disk-tutorial --zone us-central1-a
  12. persistentVolumeClaimに応じて別領域に作られたディスクの表示
    gcloud compute disks list
  13. persistentVolumeClaimに応じて別領域に作られたディスクの削除
    gcloud compute disks delete gke-persistent-disk-tu-pvc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --zone us-central1-a

このまま1週間くらい動かしてGKEの課金額の推移みてみるか。 ログがどんな風にstack driverに出てくるのかも見物したいし。

しかし、上の手順、かなり多いよなww VPS(Virtual Private Server)でroot権もらってtomcatインストールした方が手数少なくない?と思わないでもないwww


■ 宇宙暦 2017.12.21

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171221

2017.12.21(木) GKEを使ってみる part 3 お値段

tag:gke

5日間くらい走行させてみた結果のお値段が以下。

jdiaryB71221.jpg 166,387bytes

5日で1500円くらい。このままいけば一カ月で9000円くらいかな。

GKEアカウントを取ってすぐ試したので無料トライアル分が残っており請求は0円。

Network Internet Egress from Americas to China と表示されているのはなんだろう? 百度の検索エンジンでも来たかな・・・?

個人でシングルWebサービスを起動して遊ぶにはちょいと高いかしら。


■ 宇宙暦 2017.12.22

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171222

2017.12.22(金) Apple バッテリーがへたったiPhone6,6s(plus)の速度低下は意図的

バッテリーの寿命は充電回数で判定かな?まだ情報出てないけど。

iPhoneはみんな大事に扱うから中古が大人気だったけど、潰しにきたみたいね。

オレのiPhone 6s PlusもiOS 11アップデートで超遅くなって泣ける。 Geek Benchmark 4.1走らせてみたけど、まだバッテリー由来の速度低下は来てなかったようだけど。

ちなみに、Android機はAndroid 8.1 OLEOに入れ替えたら高速になってあまりの格差に笑うwww

こちらはGeek Benchの作者が明らかにした統計情報。 iOS 11のマイナーバージョンアップによって、iPhone 7でもCPUクロックが制限されるようになった姿がみえる。


■ 宇宙暦 2017.12.25

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171225

2017.12.25(月) iPhoneが突然動かなくなった時に一番最初にしてほしいこと。

tag:iphone

iPhone 6s Plus がいきなり文鎮化して焦る。

電源ボタンとホームボタンを10秒長押し強制リセットでなんとか復活。

ふぅ。まだ2年経ってないんだぜ。


■ 宇宙暦 2017.12.30

http://www.ceres.dti.ne.jp/~george/jdiaryB71201.html#20171230

2017.12.30(土) タイガー餃子館で某所の忘年会

その前に、秋葉ヨドバシでMX ERGO MXTB1s(トラックボールマウス)(12,040円)とかHDMI切り替え機(サンワサプライ SW-UHD41H)(8,670円)購入。 MX ERGOは値段見ないで手に取って会計まで持って行ったんだけど、合計金額見てびびったww1万円超えるのか・・・。

あと、IvyBridge機の電源スイッチが壊れたので電源スイッチ購入。さて、どうやって取り付けるかな...。

(このIvyBridge機は色々壊れる不幸艦で、SeagateのHDDとIntelのSSDとAMDのビデオカードが壊れて交換済み。だんだん元々のパーツが無くなりつつあるwww)

最新型のiPad Pro 10.5inchはApple最速CPUを積んでいるので(デレマスとかタイミングがシビアな)スマホゲーム機として有能とか。あと書籍ビューア。

なるほど。

ウチのiPad Pro 10.5inchもあまり出番が無くて家で寝てることがほとんどなので、活用方法をなんとか見つけてやらんとなぁ。 リモートログイン用のターミナルとしては画面が大きいので有能なんだけどね。それ安いWindowsタブでも良くね?という話はあるので。


日記ファイルリスト


日記ファイルリスト最新100件


Copyright(c) 1996-2020 George(小濱 純). All rights reserved.
私の作成したページへのリンクはご自由にどうぞ。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。
メール本文に 6020-5440-3372 と書いて頂くと、ウチのSPAMフィルタを通過できます(2009-06-14から2020-12-31まで)。

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>
(I am using white list SPAM filter. To avoid it, please write 6020-5440-3372 in mail body. This key word is valid since 2009-06-14 until 2015-12-31.)