ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

microk8sを利用7-macmini M4でarm64のkubernetesクラスタ

作成イメージ arm64のホストをutmの中に作って⭐️印の箇所を作ってく。 だんだんデカなってきたな。頭の体操にはええか。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 <----------- M4 mac -------dev-> <--------------------- VMware on Windows11 pro -------------stg--> <-------- Google cloud ---prd--> +-M4 macmini sequoia-----------+ +-kubelinux(ubuntu24) --------+ +-local ubuntu24 linux--------+ +-GCE ubuntu24 linux----------+ | +-utm ---------------------+ | | +-microk8s-------+ +-vmdk-+ | | +-docker---------+ +-vmdk-+ | | +-docker---------+ +--pv--+ | | | +-sequoia arm64-------+ | | | | +-Pod-------+ | | data | | | | +-container-+ | | data | | | | +-container-+ | | data | | | | | vscode/cyberduck | | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | | office/brew/rdp | | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +---------------------+ | | | | +-Pod-------+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | +-kubearm(ubu24) ⭐️--+ | | | | | mariadb | | | d2 | | | | | mariadb | | | d2 | | | | | mariadb | | | d2 | | | | | ctr microk8s | | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | |+-container-+ | | | | | +-Pod-------+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | ||kubernetes | | | | <- | | | xrdp-ubu24| | | d3 | | <- | | | xrdp-ubu24| | | d3 | | <- | | | xrdp-ubu24| | | d3 | | | | |+-----------+ | | | <- | | +-----------+ | +------+ | <- | | +-----------+ | +------+ | <- | | +-----------+ | +------+ | | | |+-container-+ +/data+| | | <- | | | | <- | | | | <- | | +-container-+ | | | | ||Django | | d1 || | | | | | | | | | | | | | gitlab | | | | | |+-----------+ +-----+| | | | | | | | | | | | | +-----------+ | | | | |+-container-+ | || | | | | +-Pod-------+ | +------+ | | | +-container-+ | +------+ | | | +-container-+ | +------+ | | | ||mariadb | | d2 || | | | | | https | | | d4 | | | | | https | | | d4 | | | | | https | | | d4 | | | | |+-----------+ +-----+| | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | |+-container-+ | || | | | +----------------+ | | +----------------+ | | +----------------+ | | | ||xrdp-ubu24 | | d3 || | | +-----------------------------+ +-----------------------------+ +-----------------------------+ | | |+-----------+ +-----+| | | ||| | | |+-container-+ +-----+| | | +--smb share -----------------+ ||| | | ||https | | d4 || | | | windows smb share | ||| | | |+-----------+ +-----+| | | +-----------------------------+ ||| | | +---------------------+ | | ||| | +--------------------------+ | ||| | ^ ^ | ||| | | | +---------------+ | ||| | | | |Django & xrdp | | ||| | | | |docker image to| | ||| | | | |ctr registry | | ||| | | | +---------------+ | ||| | | | | ||| | +-rancher desktop----------+ | ||| | | docker on lima | | ||| +---------------------------------+ | | +-container-+ +------+ | | ||| | d1/d2/d3 text or binary data | | | | Django | | d1 | | | ||| | d4 tls data that make each host | | | +-----------+ +------+ | | ||| +---------------------------------+ | | +-container-+ | | | | <-----------------------------------------------+|| | | | mariadb | | d2 | | | <------------------------------------------------+| | | +-----------+ +------+ | | <-------------------------------------------------+ | | +-container-+ | | | | | | | xrdp-ubu24| | d3 | | | | | +-----------+ +------+ | | | | +-container-+ +------+ | | | | | https | | d4 | | | | | +-----------+ +------+ | | | +--------------------------+ | | | | +-music----------+ | | | 8400(37GB) | | | +----------------+ | +------------------------------+ 結論 microk8sでサラっと動かすつもりやったんやけど、multipassがうまいこと行かんかったからUTM使うことにした。 ...

nftables設定してみる

ファイアウォールって苦手。 実務ではハードウェアがやってくれてたから、使ったことない。 solaris8の頃に一度設定練習したことあるけど、それっきり。 ipchainsやったかなぁ。 個人的にはヤマハのルータで特定のポートの穴あけをしてみたり、awsとかgcpのネットワークでグローバルネットのうち自分の固定IPのみを許可させたりした程度。 それでも間違えたら入られちゃうから、真剣にテストしたっけ。 今回は実務でやってみるチャンスがあったので、その試験設定をメモ。 redhatのドキュメント 最初はfirewalldってのあったっけと思ってドキュメント読んでたら、こんなこと書いてあった。 7.4. ネットワーク | 9.0 リリースノート | Red Hat Enterprise Linux | 9 | Red Hat Documentation access.redhat.com 1 RHEL では、ipset パッケージおよび iptables-nft パッケージが非推奨になりました。iptables-nft には、iptable、ip6tables、ebtables、arptables などのさまざまなツールが同梱されています。このようなツールには新しい機能がなくなり、新しいデプロイメントに使用することは推奨されません。代わりに、nftables パッケージが提供する nft コマンドラインツールを使用することが推奨されます。既存の設定は、可能であれば nft に移行する必要があります。 他にもこうあった。 1 RHEL 9 では、iptables フレームワークは非推奨になりました。結果として、iptables バックエンドと、firewalld の 直接インターフェイス も非推奨になりました。 なるほど、nftables使えってことね。 firewalldもフェードアウントしてくんかな。これ古いし、使うのやめとこか。 iptablesの実装やりなおしみたいな感じ 昔は1つずつルールをコマンドラインで書いてたな。 nftablesってのはfirewalldとか停止して使うそうな。 コマンドラインじゃなく、設定ファイルを読み込ませて動かすみたい。 コマンドラインでの設定もできるみたいやけど、ちゃんと設定が書けるってのは読みやすくてありがたい。 企業の中のファイアウォール申請は「ソースとデスティネーションのxxポートを許可」とか書いてることが多いから見直しやすい。 親切にredhat9でサンプルを作ってくださってる方がおられた。 作者さんありがとう。タイムリーに必要だったので、めっちゃ参考にさせてもらった。 Red Hat Enterprise Linux 9 のファイアウォール設定 | Psychoco Laboratory psychoco.net 作者さんは管理者と日本国内のみ接続許可するようにするのが目的やったから、日本国内のIPリストを用意されてたけどそこはパス。 ...

redhat9でマウントしたisoイメージをリポジトリに追加

インターネットつなげない環境で、インストールで使うisoイメージをリポジトリに仕立てる。 1 2 3 # cp /mnt/disc/media.repo /etc/yum.repos.d/rhel9.repo # chmod 644 /etc/yum.repos.d/rhel9.repo # vi /etc/yum.repos.d/rhel9.repo viでこう編集する。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [BaseOS] name=BaseOS Packages Red Hat Enterprise Linux 9 metadata_expire=-1 gpgcheck=1 enabled=1 baseurl=file:///mnt/disc/BaseOS/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [AppStream] name=AppStream Packages Red Hat Enterprise Linux 9 metadata_expire=-1 gpgcheck=1 enabled=1 baseurl=file:///mnt/disc/AppStream/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release リポジトリを有効にする。 ...

samba4でゴミ箱

前からやってみたかったのでサラっとやってみる。 ゴミ箱の作り方 たぶんsambaが2とか3のバージョンのときからあったと思う。 今のバージョンを確認してみる。 psで確認するとsmbdって名前で動いてるから、適当に–versionってやってみる。 1 2 3 $ /usr/sbin/smbd --version Version 4.11.6-Ubuntu $ いったんsamba4使ってるから方法探してみると、メモっておられる方がいた。 作者さんありがとう。 Linux samba4 でゴミ箱機能を有効にする - わすれないうちにメモしよう kt-hiro.hatenablog.com 共有設定に追記 自分はデータの入ったパーティションを必ず別ディスクにしてる。 dockerっていう領域。 1 2 3 $ df -h | grep docker /dev/sdb 629G 110G 488G 19% /docker $ dockerはコンテナと永続化業域が入ってる。 smb.confにはglobal指定と、共有ごとの指定がある。 global指定にはこう足した。 1 2 [global] vfs objects = recycle 次にdockerのための領域の共有に「recycle」で始まる行をいくつか追記。 ゴミ箱は隠しフォルダにしたかったので、ドットつきのフォルダ名を指定。 ...

vscodeで「gitのリポジトリがありません」ってよ

windowsのvscodeで、何かの拍子にたまに起きる。 フォルダあるのに何言うてんねん、ってなる。 ファイルサーバはubuntu20。 実際.gitのフォルダは存在する。 たぶんフォルダのアクセス権とかセキュリティ設定かなって類推する。 ubuntu20でgit branchってやってもわからんかったけど、windows側でgit bashで開いたらこんなんなってた。 unsafe repositoryって、もー、なんやねん、うっざいなぁ。 さっさとvscodeで編集したいのになぁ。 fatalの表記にこう打てって書いてある。 1 git config --global --add safe.directory '%(prefix)///nafslinux.intra.gavann-it.com/nariGVIS/etc/gvis-memos2022' そのまま打つと、gitのリポジトリ読めるようになってgitgraphもちゃんと表示できるようになった。 何なんやろ。