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

Last Update (2019/03/14 21:54:05)
1997.09.06から数えて counter 番目のアクセスです。

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

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

ページ内目次


■ 宇宙暦 2019.03.12

http://www.ceres.dti.ne.jp/~george/jdiaryB90301.html#20190312

2019.03.12(火) Nintendo Switch Fit Boxing 3日目

お任せレッスンモードがだんだんハードになってきたwww

ストレート出すと足が止まるクセがあってなかなか大変ww

筋肉痛が;;


■ 宇宙暦 2019.03.10

http://www.ceres.dti.ne.jp/~george/jdiaryB90301.html#20190310

2019.03.10(日) Nintendo Switch Fit Boxing

どっかの記事でステマされていたけど、スレの意見も概ね好意的なので購入してみた

まだチュートリアルはじめたばかりだが意外にキツイww

体全体で前後にリズムを取って、音ゲーみたいな感じで左右パンチを出す雰囲気

自分でやると足の方のリズムがすぐになくなって手だけぱんちになってしまうのが悲しいけど、足の方のリズムと合うとなんか楽しいww


■ 宇宙暦 2019.03.05

http://www.ceres.dti.ne.jp/~george/jdiaryB90301.html#20190305

2019.03.05(火) BSフジ プライムニュース 2週間はネット動画で見物できる

BSフジ プライムニュース 2週間はネット動画で見物できる

ネット上で放送から2週間は見物できる模様。

3/4(月)の放送分で、北朝鮮の高官の発言解説は朝鮮大学校准教授の李柄輝(リビョンフィ)さんの解説がわかりやすい感じがした。

北朝鮮のコメントはあまりにも背景思想が異質で(ほとんど宇宙人レベルに乖離しているため) 高官の発言一つ取っても(解説が無いと)全く理解できない。

文書翻訳など無意味というか誤解するのでかえって有害でさえある。

背景事情の説明、単語の意味の違い、用語の使い方の違いから解説があると 「なるほどそういう意味で言っているのか。(同意はできないけど)言っていることはわかった。」 というラインまでは行ける。

日本語に翻訳して北朝鮮の立場を解説する際には李柄輝さん有能っぽいので、北の将軍さまは活用したら良いんじゃないかな

p.s.

日韓情勢については、3/1(金)放送分の京都大学大学院 人間・環境学研究科教授の小倉紀蔵さんの解説がなんか当たってそうな印象を受けた。

p.p.s

出演してる人は、おそらく当代随一の北朝鮮/韓国研究者だと思うけど、どうも異質文明理解が浅いのかもしれんと気になった

なんつーか、日本の常識の範囲での代理理解(?)で止まってるみたいな

ブッ飛んでるのは李柄輝さんと小倉紀蔵さんの解説で、ひょっとするとアレが真相に近いんじゃないかという予感がする


■ 宇宙暦 2019.03.04

http://www.ceres.dti.ne.jp/~george/jdiaryB90301.html#20190304

2019.03.04(月) k3s v0.1.0 で遊んでみた

k3s v0.1.0 で遊んでみた

tag: k3s, kubernetes

  1. 3行要約。
  2. 純粋にKubernetes Podだけで実行環境を作るなら使えそう。kubectlのコマンドはそこそこ打てる。
  3. dockerの便利なコマンドはほぼ通用しないっぽい。docker runとかdocker buildとかdocker-composeとか使うならCRIとして本物のdockerを使用するオプションを試してみる必要がありそう。ビルドだけは別のroot不要なdocker imageビルド環境使うとか。
  4. proxy環境下では起動できない。kube config の server 指定が localhost なので外部から操作できない。
# ダウンロードとインストール
curl -LO https://github.com/rancher/k3s/releases/download/v0.1.0/k3s
chmod +x k3s
/bin/mv k3s /usr/local/bin

配布はシングルバイナリっぽくまとまってる。

起動してちょっと使う。

# サーバ起動。 オプション無しで起動した場合は、自分がマスタで自分をwork nodeとして登録する。
sudo k3s server &

# Kubeconfig ファイルは自動的に /etc/rancher/k3s/k3s.yaml  に出力される
cat /etc/rancher/k3s/k3s.yaml

# kubeconfig の内容は以下で表示することもできる。
sudo k3s kubectl config view --raw

# ノード一覧表示
sudo k3s kubectl get node

# これは無理かw  heapsterが無いって言われるww
sudo k3s kubectl top node

# 実行させる(podとして)
sudo k3s kubectl run  my-hello-world  --image=hello-world --restart=Never

# 実行できたかな?
sudo k3s kubectl get pod --all-namespaces -o wide

podは普通に実行できるっぽいね。

[root@node1 ~]# sudo k3s kubectl get pod --all-namespaces -o wide
NAMESPACE     NAME                             READY   STATUS      RESTARTS   AGE   IP          NODE              NOMINATED NODE   READINESS GATES
default       my-hello-world                   0/1     Completed   0          24s   10.42.0.6   node1.k8s.local   <none>           <none>
kube-system   coredns-7748f7f6df-hv8rk         1/1     Running     0          22m   10.42.0.2   node1.k8s.local   <none>           <none>
kube-system   helm-install-traefik-krp5d       0/1     Completed   0          22m   10.42.0.3   node1.k8s.local   <none>           <none>
kube-system   svclb-traefik-5f56557df7-rbjxm   2/2     Running     0          21m   10.42.0.5   node1.k8s.local   <none>           <none>
kube-system   traefik-dcd66ffd7-5v2wv          1/1     Running     0          21m   10.42.0.4   node1.k8s.local   <none>           <none>
[root@node1 ~]#
[root@node1 ~]# sudo k3s kubectl logs my-hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

[root@node1 ~]#

自動生成されるkubectl config。serverがlocalhostになってるのは厳しいなー。

隣のマシンからアクセスできない;;

dnsmasqを先に入れたらオレオレなホスト名使ってくれるかな? 後でネット検索しよう。

[root@node1 ~]# sudo k3s kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://localhost:6443
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    password: 6937a1c0c537a473504dac807f397b9a
    username: admin
[root@node1 ~]#

containerdを含むということで、dockerの代わりになるか遊んでみる。コマンドのヘルプ。

podって表記があるのが不幸を予感させるゾ

[root@node1 ~]# sudo k3s crictl
NAME:
   crictl - client for CRI

USAGE:
   crictl [global options] command [command options] [arguments...]

VERSION:
   unknown

COMMANDS:
     attach        Attach to a running container
     create        Create a new container
     exec          Run a command in a running container
     version       Display runtime version information
     images        List images
     inspect       Display the status of one or more containers
     inspecti      Return the status of one or more images
     imagefsinfo   Return image filesystem info
     inspectp      Display the status of one or more pods
     logs          Fetch the logs of a container
     port-forward  Forward local port to a pod
     ps            List containers
     pull          Pull an image from a registry
     runp          Run a new pod
     rm            Remove one or more containers
     rmi           Remove one or more images
     rmp           Remove one or more pods
     pods          List pods
     start         Start one or more created containers
     info          Display information of the container runtime
     stop          Stop one or more running containers
     stopp         Stop one or more running pods
     update        Update one or more running containers
     config        Get and set crictl options
     stats         List container(s) resource usage statistics
     completion    Output bash shell completion code
     help, h       Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --config value, -c value            Location of the client config file (default: "/etc/crictl.yaml") [$CRI_CONFIG_FILE]
   --debug, -D                         Enable debug mode
   --image-endpoint value, -i value    Endpoint of CRI image manager service [$IMAGE_SERVICE_ENDPOINT]
   --runtime-endpoint value, -r value  Endpoint of CRI container runtime service (default: "unix:///run/k3s/containerd/containerd.sock") [$CONTAINER_RUNTIME_ENDPOINT]
   --timeout value, -t value           Timeout of connecting to the server (default: 10s)
   --help, -h                          show help
   --version, -v                       print the version
[root@node1 ~]#

適当に走らせてみる。

# containerd機能を含むらしいので、ちょっと遊ぶ
sudo k3s crictl pull hello-world

# image 一覧
sudo k3s crictl images

# docker run 相当は無いっぽい。 runp というpodをスタートさせるのはあるけど、yamlを書く必要がある模様。
sudo k3s crictl runp

# pod作成用のyamlファイルをkubectlコマンドに作らせる
sudo k3s kubectl run  my-nginx  --image=nginx:latest --restart=Never  --dry-run  -o yaml > my-nginx.yaml
cat my-nginx.yaml

# pod作成yamlファイルを指定して走行
sudo k3s crictl runp my-nginx.yaml

# ちょっと待つ
sleep 5

# crictl ps -a の結果は微妙
sudo k3s crictl ps -a

# crictl podsの結果は良いかも
sudo k3s crictl pods

k3s crictl runp するとコンテナIDっぽいものを表示してくれるけど、実は Pod ID。

つか1分くらいでcrictl から起動失敗したpodだと表示から消えるので、ログとか調査するの無理ゲーw

containerdを含んではいるけど、dockerというか生コンテナは触らせる気は無いっぽい。

純粋なkubernetes podで全部の環境を構成しないといけないかな。

[root@node1 ~]# # pod作成yamlファイルを指定して走行
[root@node1 ~]# sudo k3s crictl runp my-nginx.yaml
b2d8ce5f4db41fa9f65e22bbe451307e57a76c23c0ae81563b48ba24ea24d7ed
[root@node1 ~]#
[root@node1 ~]# # ps -a の結果は微妙
[root@node1 ~]# sudo k3s crictl ps -a
CONTAINER ID        IMAGE               CREATED             STATE               NAME                ATTEMPT             POD ID
91ecb9d34f32f       4a065d8dfa588       43 minutes ago      Running             https               0                   74a5ea71410a0
781503e691d26       4a065d8dfa588       43 minutes ago      Running             http                0                   74a5ea71410a0
f574470cdd692       98768a8bf3fed       43 minutes ago      Running             traefik             0                   324fa2801b3a5
5eb9f22347132       2ee68ed074c6e       43 minutes ago      Running             coredns             0                   93233371f602b
3e3796a2a5c99       b8b351c31b0ab       43 minutes ago      Exited              helm                0                   410a8a546b056
[root@node1 ~]#
[root@node1 ~]# # pods の結果
[root@node1 ~]# sudo k3s crictl pods
POD ID              CREATED                  STATE               NAME                             NAMESPACE           ATTEMPT
b2d8ce5f4db41       Less than a second ago   Ready               my-nginx                                             0
74a5ea71410a0       43 minutes ago           Ready               svclb-traefik-5f56557df7-rbjxm   kube-system         0
324fa2801b3a5       43 minutes ago           Ready               traefik-dcd66ffd7-5v2wv          kube-system         0
410a8a546b056       44 minutes ago           NotReady            helm-install-traefik-krp5d       kube-system         0
93233371f602b       44 minutes ago           Ready               coredns-7748f7f6df-hv8rk         kube-system         0
[root@node1 ~]# 

余談だが、systemdからk3s起動したい向きには以下とのこと。


cat > /etc/systemd/system/k3s.service << EOF
[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
After=network.target

[Service]
Type=notify
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s server
KillMode=process
Delegate=yes
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable k3s
systemctl start k3s


■ 宇宙暦 2019.03.03

http://www.ceres.dti.ne.jp/~george/jdiaryB90301.html#20190303

2019.03.03(日) NHKスペシャル 黒い津波

津波の場合、海底の水まで動く。 この時海底の泥やヘドロを巻き上げているので、黒い津波になる。

飲み込んだり気管に入ったり、水が引いた後乾燥して泥粉塵として舞い上がったりしたのを吸い込んだりすると、 津波肺という重い肺炎になるって話。通常の肺炎なら一カ月くらいで治癒するけど、津波肺は四カ月くらいかかるとか。

確かに危ない話だが、注意しろ言われても困るなコレw

逆説的だが濃密なPM 2.5濃度は割と危険なのかもしれないと感じた


■ 宇宙暦 2019.02.28

http://www.ceres.dti.ne.jp/~george/jdiaryB90201.html#20190228

2019.02.28(木) 久しぶりにheapsterをインストールしてみる

久しぶりにheapsterをインストールしてみる

tag: kubernetes, heapster

今時の Kubernetes は cAdvisor が標準装備らしいのだが、 Docker Desktop v2.0.0.3 (Windows版) の kubectl はまだ 1.10.11 なので、 kubectl top pod すると未だに namespace kube-system の service heapster を探しに行く。

そんなわけで heapster を helm の chart からインストール。

# helm初期化。tillerのインストール。しばし待つ。
helm init

# heapsterのchartのダウンロード。今日やったら0.3.2が拾えた。
helm fetch stable/heapster

# chartの展開。heapster/README.mdを見たり、heapster/values.yamlをチェックしたり。
tar xvzf heapster-0.3.2.tgz

# インストールする際のyamlを生成して標準出力に表示して内容チェック。
# 
# 手元の helm-2.12.3 では --values オプションで yaml形式のファイル名を指定できるようなので、
# prometheus 用の anotations をヒアドキュメントで指定してみる。
#
helm template heapster \
    --name heapster \
    --namespace kube-system  \
    --values - << "EOF"
service:
  annotations:
    prometheus.io/path: /metrics
    prometheus.io/port: "8082"
    prometheus.io/scrape: "true"
EOF

# インストール実施。
helm install heapster \
    --name heapster \
    --namespace kube-system  \
    --values - << "EOF"
service:
  annotations:
    prometheus.io/path: /metrics
    prometheus.io/port: "8082"
    prometheus.io/scrape: "true"
EOF

# メトリクスデータを取得するまで1分くらい待つ

kubectl top node
kubectl top pod --all-namespaces

実行結果

george@KabyLakeS /c/home/git/test $ kubectl top node
NAME                 CPU(cores)   CPU%      MEMORY(bytes)   MEMORY%
docker-for-desktop   329m         16%       1664Mi          21%
george@KabyLakeS /c/home/git/test $
george@KabyLakeS /c/home/git/test $ kubectl top pod --all-namespaces
NAMESPACE       NAME                                         CPU(cores)   MEMORY(bytes)
default         kjwikigdocker-859f698bf6-zc7nr               1m           135Mi
default         my-php-app-65946b4d9b-q5zw6                  0m           13Mi
docker          compose-74649b4db6-g9mrp                     3m           6Mi
docker          compose-api-747bc96b8-n44fm                  1m           13Mi
ingress-nginx   nginx-ingress-controller-777f447485-vfgrb    6m           114Mi
kube-system     etcd-docker-for-desktop                      22m          73Mi
kube-system     heapster-heapster-cbcc6bd75-f76c9            0m           16Mi
kube-system     kube-apiserver-docker-for-desktop            114m         445Mi
kube-system     kube-controller-manager-docker-for-desktop   68m          47Mi
kube-system     kube-dns-86f4d74b45-rwhlg                    2m           24Mi
kube-system     kube-proxy-k4mw7                             4m           14Mi
kube-system     kube-scheduler-docker-for-desktop            18m          12Mi
kube-system     tiller-deploy-7995854f67-96mks               0m           30Mi
george@KabyLakeS /c/home/git/test $

kube-apiserverが最大手だった。

kjwikigdockerはJavaの割に小さくまとまってるけど、jdk11のdockerコンテナ対応効果が出てるのかしら?


■ 宇宙暦 2019.02.25

http://www.ceres.dti.ne.jp/~george/jdiaryB90201.html#20190225

2019.02.25(月) マクロスプラス

マクロスプラス

tag: anime

おおおー懐かしいのがDアニメストアに登場しとるww

25年前の作品なんやねぇ

3/31までの期間限定だとか


■ 宇宙暦 2019.02.19

http://www.ceres.dti.ne.jp/~george/jdiaryB90201.html#20190219

2019.02.19(火) bashでsourceされた場合は実行せず関数定義のみを行い、bash xxxx.shされた場合は実行する方法

bashでsourceされた場合は実行せず関数定義のみを行い、bash xxxx.shされた場合は実行する方法

tag: bash

オレ専用のメモ。

bash ではスクリプトファイルのコールスタックが BASH_SOURCE 配列に格納されるので、これの配列長を見ることでコンテキストの判定をすると良いらしい。

if [ ${#BASH_SOURCE[@]} = 1 ]; then
    # bash xxx.sh で呼び出された場合
fi

余談だけど、bashの配列の表記、もうちょっとなんとかならんのか・・・。

2019.02.19(火) PostgreSQLは20年間どのようにfsyncを間違って使っていたか

PostgreSQLは20年間どのようにfsyncを間違って使っていたか

tag: postgres, fsync, linux, nfs, freebsd

fsync(2)の失敗はSANやNFSを使っていると簡単に発生するが、fsync(2)が失敗した場合、データがファイルシステムによっては消える、というもの。

FreeBSDでは起きないらしい。zfs on freebsd , zfs on linuxでは起きないらしい。

dockerのvolumeとかだとどーなるのかしら? NFSはヤバそうね・・・。


■ 宇宙暦 2019.02.17

http://www.ceres.dti.ne.jp/~george/jdiaryB90201.html#20190217

2019.02.17(日) ガーリー・エアフォース

ガーリー・エアフォース

tag: anime

まぁその...タイトル通りの酷いアニメ(一応誉め言葉)なのだが...

宇宙人みたいな謎の敵が出てきて、サーブグリペン複座型と一心同体の謎の美少女が出てきて、主人公の男の子はセスナの操縦可能(日本のパイロット免許持ってるかは不明)。

ここから予想される展開は...。

...。

滑走路が爆撃されて半分しか使えなくなるピンチ!だがグリペンなので滑走距離は短くてOK!テイクオフ!

そして男の子を後ろに載せてスカイラブアタックFOX2を実施する...というベタな展開を本当にやって見せる度胸が凄いww

いやいや普通にお勧めできないアニメだが、個人的には刺さったので見物は続ける


■ 宇宙暦 2019.02.11

http://www.ceres.dti.ne.jp/~george/jdiaryB90201.html#20190211

2019.02.11(月) growiというmarkdownを使うwikiっぽいチームコラボレーションツールがごく局所的に流行中

growiというmarkdownを使うwikiっぽいチームコラボレーションツールがごく局所的に流行中

tag: growi, wiki

growiはmarkdownを使用するwiki。チームコラボレーション用。

crowiからのforkらしい。

Web画面はReact。

データストアはmongodb 3.2以降。

画像とかファイルを貼り付けた場合は、localのmongodbに記憶するか、Amazon S3に保存するか設定可能。

オプションでElasticSearch 5.1以降を使用可能。これ使うと要求メモリ+768MBかな。

今wikiみたいなメモシステムを作るとたぶんこうなるという感じの実装ですこ。

便利なトコは俺のwikiにも実装しちゃおうww

2019.02.11(月) Vue.js フォームの初期値が無い入力アシスト用途だと便利だな

Vue.js フォームの初期値が無い入力アシスト用途だと便利だな

growiの新規ページ作成では 「/user/{ユーザー名:-george}/{カテゴリ:-memo}/2019/02/10/{ページ名}」 を初期値として生成してくれる。

どんな風にディレクトリを作って個人メモを格納するかの手本になってるわけだね。

(もちろん、growiの新規ページ作成から、 /abc-project/readme とか直接指定で作ることもできるけど)

これに触発されて、俺のwikiの新規ページ作成フォーム画面をVue.jsを使って変更。

カテゴリとページ名の部分をテキスト入力として用意。 ここのキー入力イベントを受けて色々と文字列結合して結果をテキスト入力エリアに反映。

この手の処理はVue.jsでv-modelを使ってちょいちょい書ける。

既存のサーブレット側の処理は面倒なので変更なし。

Vue.jsは部分的な改良には導入しやすい感じはある

2019.02.11(月) 千葉県と茨城県の一部で雪が降る(2回目)

今日も土曜日に続いて降雪あり。道路の上には積もらないけど。

東京とか神奈川には降雪は無いらしい。


old day diaries...


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


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