最高でしたね
GRISクリアした
こんなゲームです
FF10クリアした
なんかちょっと古いノリのキャラクターたちもすきになったりしてきてたのでよかった。
あとラスボス強すぎませんか
FrostPunk
希望100
不満0です
FF9クリアした
最高でした。
初期メンバーすき。
マリオ64
からだがおぼえていました
ドキドキ文芸部
何を思ったのかいまさらやりはじめて落ち込んだりしている
Fear and Loathing in Las Vegas
映画のほう
最高でした
Vagrantでシェルスクリプト実行させる
こんなかんじ。
以下の例だとAWSCLIをインストールしてくれる。
$script = <<-SCRIPT sudo apt install unzip curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install SCRIPT Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-20.04" config.vm.provision "shell", inline: $script end
Night in the woods
ぼくのためのゲームでした。
VagrantのUbuntu20にminikubeをインストールするまで
なんかこんな記事ばっかり書いているような気がするけれど動かしてから云々は仕事用のwikiに書いているのです。
Vagrant
Vagrantfileはこんなかんじ。
Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-20.04" config.vm.provider "virtualbox" do |v| v.memory = 8192 v.cpus = 4 end end
起動して接続
vagrant up vagrant ssh
Ubuntuのなか
minikubeのインストール
インストールして
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
配置
sudo mkdir -p /usr/local/bin/ sudo install minikube /usr/local/bin/
dockerのインストール
これのとおりやる。
dockerグループへの追加
これのとおりやる。
確認
うごきましたね。
vagrant@vagrant:~$ minikube start * minikube v1.13.0 on Ubuntu 20.04 (vbox/amd64) * Automatically selected the docker driver * Starting control plane node minikube in cluster minikube * Pulling base image ... * Downloading Kubernetes v1.19.0 preload ... > preloaded-images-k8s-v6-v1.19.0-docker-overlay2-amd64.tar.lz4: 486.28 MiB * Creating docker container (CPUs=2, Memory=2200MB) ... * Preparing Kubernetes v1.19.0 on Docker 19.03.8 ... * Verifying Kubernetes components... * Enabled addons: default-storageclass, storage-provisioner * kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A' * Done! kubectl is now configured to use "minikube" by default
vagrant@vagrant:~$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured
istio-proxyがinjectされちゃうせいでjobが終わらない
概要
タイトルのとおり。
istio-proxyがauto-injectされちゃうような構成というかサイドカー構成だと、JobやCronJobを実行したとき、いつまでたってもCompletedにならなかったりする。
$ kubectl get pods NAME READY STATUS RESTARTS AGE hello-1598853420-5stdh 1/2 Running 0 3m39s hello-1598853480-sfjds 1/2 Running 0 2m39s hello-1598853540-dpvrm 1/2 Running 0 98s
なんでそうなるのか
Jobを実行するコンテナの方は正常終了していたとしても、サイドカーコンテナ(この場合istio-proxy)はそれを検知せず、実行し続けてしまう。
Istio環境での解決策
metadataに以下の様にtemplateにmetadata.annotations.sidecar.istio.io/inject: "false"
を設定してあげる。
apiVersion: batch/v1beta1 kind: CronJob metadata: name: hello spec: schedule: "*/1 * * * *" jobTemplate: spec: template: metadata: annotations: sidecar.istio.io/inject: "false" spec: containers: - name: hello image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: Never
そうすると当然Jobが実行されるコンテナしか動作しないためCompletedになる。
$ kubectl get pods NAME READY STATUS RESTARTS AGE hello-1598853600-dz7vj 0/1 Completed 0 24s
おわりに
これはIstioではなく、k8s自体の問題。
Issueはあがっているみたいなので改善されるとよいですね。
夏
です