terraform
terraform taint
で、指定したリソースを再作成する事ができる
$ terraform taint esxi_guest.test01
Resource instance esxi_guest.test01 has been marked as tainted.
$ terraform apply -auto-approve
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
# esxi_guest.test01 is tainted, so must be replaced
-/+ resource "esxi_guest" "test01" {
~ guest_shutdown_timeout = 20 -> (known after apply)
~ guest_startup_timeout = 120 -> (known after apply)
~ guestos = "otherlinux-64" -> (known after apply)
~ id = "421" -> (known after apply)
~ ip_address = "192.168.100.7" -> (known after apply)
+ notes = (known after apply)
~ ovf_properties_timer = 0 -> (known after apply)
~ virthwver = "9" -> (known after apply)
# (10 unchanged attributes hidden)
~ network_interfaces {
~ nic_type = "e1000" -> (known after apply)
# (2 unchanged attributes hidden)
}
~ network_interfaces {
~ nic_type = "e1000" -> (known after apply)
# (2 unchanged attributes hidden)
}
}
Plan: 1 to add, 0 to change, 1 to destroy.
Command: taint - Terraform by HashiCorp
Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる - Qiita
terraform workspace
で、ワークスペースを操作する事ができる。
ワークスペースを分ける事で、それぞれのstateを保持する事ができる。(ただし、本番とステージングのような分け方は推奨されていない)
yukihisa@macbook-pro ~/.g/g/y/h/terraform (main)> terraform workspace -h
Usage: terraform [global options] workspace
new, list, show, select and delete Terraform workspaces.
Subcommands:
delete Delete a workspace
list List Workspaces
new Create a new workspace
select Select a workspace
show Show the name of the current workspace
Terraform Workspacesの基礎と使い方について考えてみた! #AdventCalendar | DevelopersIO
kubernetes
PVC
- StorageClassで
reclaimPolicy: Retain
に設定しておけば、PVCを削除してもPVは残る- 再度PVCを作成すると、他のPVが作成されてしまう → どうやって紐付けするか
kubeadm
CPU
root@k8s-master1:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 166
model name : Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz
stepping : 0
microcode : 0xca
cpu MHz : 1608.000
cache size : 12288 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
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 cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm 3dnowprefetch cpuid_fault ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase smep arat md_clear flush_l1d arch_capabilities
bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs itlb_multihit
bogomips : 3216.00
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
root@k8s-master01:~# fgrep 'processor' /proc/c
puinfo | wc -l
1
kubeadm init
を実行します。
root@k8s-master1:~# kubeadm init --node-name k8s-master --pod-network-cidr=10.244.0.0/16
[init] Using Kubernetes version: v1.21.1
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[WARNING Hostname]: hostname "k8s-master" could not be reached
[WARNING Hostname]: hostname "k8s-master": lookup k8s-master on 127.0.0.53:53: server misbehaving
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR NumCPU]: the number of available CPUs 1 is less than the required 2
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher
root@k8s-master1:~#
--ignore-preflight-errors=NumCPU
オプションをつけるとインストールできます。他にも、今回は発生しませんでしたが、メモリ不足などのエラーの同様のオプションでスキップする事が可能です。(非推奨)
root@k8s-master1:~# kubeadm init --node-name master --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=NumCPU
[init] Using Kubernetes version: v1.21.1
[preflight] Running pre-flight checks
[WARNING NumCPU]: the number of available CPUs 1 is less than the required 2
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[WARNING Hostname]: hostname "master" could not be reached
[WARNING Hostname]: hostname "master": lookup master on 127.0.0.53:53: server misbehaving
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
[memo] Linux で CPU の数を調べる - Qiita
Mac
「command + control + スペースキー」で絵文字が使える 🔥🔥🔥
【Mac】絵文字キーボードを表示させるショートカットキー – 和洋風KAI
Vagrant
Vagrant box vmware/esxi - Vagrant Cloud
vmware/esxi
という Vagrant Box を使って virtualbox で VM を起動しようとした時にエラーが発生しました。
$ cat Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "vmware/esxi"
end
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'vmware/esxi' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'vmware/esxi'
default: URL: https://vagrantcloud.com/vmware/esxi
The box you're attempting to add doesn't support the provider
you requested. Please find an alternate box or use an alternate
provider. Double-check your requested provider to verify you didn't
simply misspell it.
If you're adding a box from HashiCorp's Vagrant Cloud, make sure the box is
released.
Name: vmware/esxi
Address: https://vagrantcloud.com/vmware/esxi
Requested provider: [:virtualbox]
Box をよくみてみると、vmware_desktop
しか対応していないため、virtualbox では動作させる事ができませんでした。
Linux
iptables 設定例
kubernetes master node
# common
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 6443 -j ACCEPT
# etcd
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 2376 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 2379 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 2380 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 8472 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 9099 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 10250 -j ACCEPT
sudo netfilter-persistent save
Go
gotour インストール
A Tour of Goの通り
$ go tool tour
go tool: no such tool "tour"
上記がエラーになったので、以下を試しました。
$ go get github.com/atotto/go-tour-jp/gotour
$ gotour
golang.org/x/tour/gotour has moved to golang.org/x/tour
上記もうまく動きませんでした。
$ go get golang.org/x/tour
can't load package: package golang.org/x/tour: no Go files in /Users/yumenotayume/go/src/golang.org/x/tour
Reference
- [[入門][Go]Goに入門してみた | codelikeなブログ](