銀河の歴史がまた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] [検索]

ページ内目次


■ 宇宙暦 2019.03.03

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

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

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

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

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

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


■ 宇宙暦 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.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.10

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

2019.03.10(日) Nintendo Switch Fit Boxing

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

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

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

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


■ 宇宙暦 2019.03.12

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

2019.03.12(火) Nintendo Switch Fit Boxing 3日目

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

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

筋肉痛が;;

p.s.

腕周辺の筋肉痛はもうおさまってきたけど、ヒザを使う系のヤツは足がパンパンになるので勘弁ww


■ 宇宙暦 2019.03.21

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

2019.03.21(木) iPad mini (2019) ポチった

出るの遅いって・・・待ちきれなくて iPad Pro 10.5買ってからさらに新機種が何度も出てるくらいだよ・・・

自家用車で移動してるアメリカ人にはiPad miniの良さはわからんだろう


■ 宇宙暦 2019.03.24

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

2019.03.24(日) ケムリクサ

tag:anime

Amazon prime videoでしか見れないのか。dアニメストアには出てないなー。

けもフレ系の3d描画アニメだけど、予算が圧倒的に増えてる感あるww

初回死亡者あり(?)、水資源縛り、謎の廃墟移動とわりと緊迫したムードで進行する序盤。これどーなるんだろ?

つか第一話だけ0円で以後2話以降は1話あたり216円かよww 騙された;;

ナチュラルに連続再生してんじゃNEEEEE  有料です警告くらい出せや;; つか1話あたりの値段TAKEEEEE

Amazon 邪悪な商売しすぎだろ さすが悪の帝国GAFA

p.s.

プライム会員だと料金請求は来ないっぽい? ブラウザのcookie切れてたので有料っぽく表示されてたけども購入履歴には表示が無いな・・。

2019.03.24(日) 最近の (kubernetes v1.13.4) heapster/cAdvisorなどのkubeletからのメトリクスデータ取得事情

tag: kubernetes, heapster, cadvisor, 10255, readOnlyPort

kubernetes v 1.13.4あたりの話。

しばらく見ないうちに kubeletの 10255 readOnlyPort (認証なしでメトリクス情報が取得できるポート) はデフォルトで使用不可でインストールされるようになった。

AWSのEKSのイメージもデフォルトで10255ポートを塞ぐようになったようだ。

kube proxyの脆弱性で大穴が開いてたので開発者連中が神経質になってる模様ww

メトリクスデータの取得は必要なモノなので、RBAC制限付きの kubelet 10250 ポート経由でメトリクスデータ取得を行う方向になったようだ。

kubeletから情報を取得する人は、だいたい heapster か prometheus 。

helm chartのheapster-0.3.2は今日時点ではまだ未対応。 以下のようにインストールすれば、とりあえず kubectl top node とかができるようになる。

#
#  heapster
#  heapster-0.3.2
#
# --namespace kube-system にしないといけない
#
#  認証なしで接続できる kubelet port 10255 がkube 1.13系で廃止されたので、heapster対応待ち
#  今後はサービスアカウントを使うようにして、認証ありでkubelet port 10250に接続して情報を取得するようになる
#  amazon 向け kubernetes では、readonly port 10255は廃止されているので、kubectl top nodeは heapsterが対応するまで利用できない
#  https://github.com/awslabs/amazon-eks-ami/issues/128
#

# アクセス用のロールを作成
cat > heapster-role.yaml << "EOF"
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: node-stats-full
rules:
- apiGroups: [""]
  resources: ["nodes/stats"]
  verbs: ["get", "watch", "list", "create"]
EOF
kubectl apply -f heapster-role.yaml

# kubeletアクセス用のアカウントを作成。helm chart の heapster だと heapster-heapsterという名前になってしまうのでその名前で作る
cat > heapster-account.yaml << "EOF"
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: heapster-node-stats
subjects:
- kind: ServiceAccount
  name: heapster-heapster
  namespace: kube-system
roleRef:
  kind: ClusterRole
  name: node-stats-full
  apiGroup: rbac.authorization.k8s.io
EOF
kubectl apply -f heapster-account.yaml

# heapsterのインストール
helm inspect stable/heapster
helm install stable/heapster \
    --name heapster \
    --namespace kube-system  \
    --values - << "EOF"
command:
- /heapster
- --source=kubernetes:kubernetes:https://kubernetes.default?useServiceAccount=true&kubeletHttps=true&kubeletPort=10250&insecure=true
rbac:
  create: true
  serviceAccountName: heapster
service:
  annotations:
    prometheus.io/path: /metrics
    prometheus.io/port: "8082"
    prometheus.io/scrape: "true"
EOF

# 情報が集まるまで60秒以上待機する
kubectl top node
kubectl top pod --all-namespaces

helm-chartのprometheus-operator-5.0.2の場合は、kubelet.serviceMonitor.https=true 指定すると、認証ありの kubelet 10250 ポートを使うので、それで行く。

helm install stable/prometheus-operator \
    --name prometheus-operator \
    --namespace kube-system \
    --values - << "EOF"
kubelet:
  serviceMonitor:
    https: true
kubeControllerManager:
  enabled: false
kubeScheduler:
  enabled: false
defaultRules:
  rules:
    kubernetesSystem: false
grafana:
  enabled: true
  ingress:
    enabled: true
    hosts:
    - grafana.minikube.local
EOF

余談だが、cAdvisor(の起動オプション指定)がkubeletに統合されたのは手違いだったという謎の記載がkubeletのコマンドラインヘルプに書いてある。

えー。統合するんじゃなかったのかいwww

[root@master1 ~]# kubelet --help
The kubelet is the primary "node agent" that runs on each
(中略)
      --application-metrics-count-limit int      Max number of application metrics to store (per container) (default 100) (DEPRECATED: This is a cadvisor flag that was mistakenly registered with the Kubelet. Due to legacy concerns, it will follow the standard CLI deprecation timeline before being removed.)

■ 宇宙暦 2019.03.30

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

2019.03.30(土) iPad mini 5 2019 docomo online shop にて注文

iPad mini 5 2019 docomo online shop にて注文したった。 到着は数日後かな。 Apple Storeでの発売日は3月28日で、キャリア系のSIM入りの発売日は各社3月30日だったようだ。

ドコモオンラインショップを使うのは初めてだったけど、アレをスマホから操作できるヤツは天才に違いない。

つかVueでもReactでもいいけど、もっと反応性の良いWeb画面にならないものか。

番号が使えるか確認ボタン押したら、すげぇ縦に長い画面全体をリロードしてページの先頭がしばらく表示されてから、さっき確認ボタン押した所に(id指定で)スクロールしててワロタw (オレwikiもpure form型だからこんな作りだけどさw)

まぁドコモオンラインショップなんて使うヤツは狂信者か確信犯だから、オンラインショップWebサイトの使い勝手の良さとか売り上げには全く関係ないんだろうけど


日記ファイルリスト最新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.)