投稿

Kubernetesお勉強その7【環境構築】Istioに入門してみる

kubernetes ってやっぱり マイクロサービス で使うことを想定しているわけだからやっぱり サービスメッシュ とか大事になってくるわけで。さくっとそのサービスメッシュを管理してくれる Istio を試してみました。といってもサンプルの手順なぞっただけでほとんどコピペですが・・・。 ロギング とか、 認証 ・ 認可 とかコンテナの制御系周りでビジネスに関係ないとこは切り出して POD が ビジネスロジック に集中できるような仕組みのようなもんという理解です。(正解かどうかは知らんけど) PODがマイクロサービスを担うような感じにしたい ので、マイクロサービスとして共通のものを一々POD毎に書いてられっかというのが背景にあるのかなと、結局最後は ドメイン駆動設計 に行き着く感じなんかなぁと思いました。 けど SOA とどこが違うんすっかとモヤモヤとしつつ手を動かしました。手を動かすところはほかの先人のサイトのコピペばかりなのであまり役に立たないかもしれないです。 ◆手順 # 1.FireWall設定(FireWallを一旦リセットし内部からの通信のみ許可) $ sudo ufw reset $ sudo ufw enable $ sudo ufw allow from 192.168.0.0/24 $ sudo ufw reload # 2.Istioctlインストール $ curl -L https://istio.io/downloadIstio | sh - $ cd $ echo 'export PATH="$PATH:/home/youruser/istio-1.13.0/bin"' | tee -a .bashrc $ source .bashrc $ istioctl x precheck # 3.metallb準備(IstioでLoadBarancer使うので事前準備) $ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.0/manifests/namespace.yaml $ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/...

nginxでTestLinkを動かしてみる

 先日、 DockerでTestLinkのsamba-ad連携 してみたけど。dockerを動かすには貧弱なAzureのVMを使用しているので nginxでバーチャルホスト 切って動かしてみることにしました。 これもまた先人のお知恵を拝借してと思いましたが、Dockerで作成されているものが多数で結構、情報が少ないのかなと思ってひとまずまとめておくことにしてみました。需要あるかわかりませんが、少なくとも自分はこういう構成でやるのでまとめてくれるのがなくて困った。というよりこういうのはDockerでやれという話ですね。 ◆対象Version Ubuntu20.04.3LTS ◆手順 1.PHPインストール $ sudo apt -y install php7.4 $ sudo apt -y install php-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip 2.データベースや添付ファイル保管用ディレクトリマウント *先にAzureファイル共有のストレージアカウントを準備しておく # 環境変数設定 $ export AZUREFILES_RGN="VirtualMachineExamination" $ export AZUREFILES_SA="testlink" $ export AZUREFILES_TESTLINK_DB_FSN="testlink-database" $ export AZUREFILES_TESTLINK_DB_MNT="/mnt/$AZUREFILES_SA/$AZUREFILES_TESTLINK_DB_FSN" $ export AZUREFILES_TESTLINK_FILE_FSN="testlink-file" $ export AZUREFILES_TESTLINK_FILE_MNT="/mnt/$AZUREFILES_SA/$AZUREFILES_TESTLINK_FILE_FSN...

Kubernetesお勉強その6【環境構築】WebUIでPodとかのステータス見てみる

イメージ
 おおよそ 過去5回分 でひとまずはKubernetesを動かせる環境は準備できたんだけれども。監視とかするのにGUIないとつらいよなぁと思って探しているとDashbordなるものがある様です。早速インストールして動かしてみました。ちなみにDashbordからPODに接続できてコマンド叩けたり、ログの内容見れたりとっ便利だったり。そのほかも色々とできるみたい。 よそ様のサイトの方が充実しているのでそっち見たほうがいいし、ほぼコピペですが一応まとめておきました。 ◆手順 1.事前準備(クラスター3台分のFireWallのポートオープン) $ sudo ufw allow from 192.168.0.0/24 to any port 32001 $ sudo ufw allow from 192.168.0.0/24 to any port 8443 $ sudo ufw allow from 192.168.0.0/24 to any port 8000 2.設定作業 ・設定ファイル読込 # インストール $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml namespace/kubernetes-dashboard created ~中略~ deployment.apps/dashboard-metrics-scraper created $ kubectl get svc -n kubernetes-dashboard NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-metrics-scraper ClusterIP 10.XXX.XX.XX 8000/TCP 14m kubernetes-dashboard ClusterIP 10.XXX.XX.XX 443/TCP 14m # ノードポートに接続するように変更 $ kubectl -n kubernetes-d...

DockerでTestLinkを動かす(samba-ad連携)

 まったく需要はないと思うけれどもsamba-ad連携シリーズ、今回は TestLink とかいうマニアックなツールです。よくSIerさんがEXCELで管理しているどうしようもないようなシステムテストの管理を効率化しようとするツールです。無料で一番いい感じのやつで今でも開発が続けられているということで、まぁ少し使い勝手を見てみようと思って、お手軽に Docker で試してみることにしました。 ■過去のsamba-ad連携シリーズ(よろしければどうぞ) https://ujimasayuruyuru.blogspot.com/2021/08/dockerad-samba2.html https://ujimasayuruyuru.blogspot.com/2021/10/dockersamba-ad.html https://ujimasayuruyuru.blogspot.com/2021/10/dockerwordpresssamba-ad.html https://ujimasayuruyuru.blogspot.com/2021/09/dockeralfrescosamba-ad.html スキルが低いので相変わらずほかのサイトのコピペつぎはぎで作り上げます。なんかLDAP連携できるらしいのでsamba-adと連携させてみることにします。 ◆対象Version Ubuntu20.04.3LTS Docker version 20.10.12, build e91ed57 docker-compose version 1.29.1, build c34c88b2 ◆作業手順 1.事前準備 #IPアドレス追加 $ sudo vi /etc/netplan/00-installer-config.yaml ------------------------------------------------- # This is the network config written by 'subiquity' network: ethernets: eth0: addresses: - 192.168.0.40/24 - 192.168.0.41/24 - 192.168.0.42/24 ...

Dockerで自己証明書https環境のJupyterlabを構築

何となく自分のPC環境で JupyterNotebook 試したくなったのでお手軽に準備できるものないか探していたところDockerで環境構築できるとのことで早速準備してみました。まぁすべてコピペで完成ですが、とりあえず備忘録として載せておこうかなと。 Google Colab 使った方がお手軽なのはわかっているんですが、気軽に試したいのといろいろと環境を足しこんでいくとかあるかもしれないので・・・手許にほしいと思って準備しました。 ◆事前準備およびDockerfile等 ・Dockerfile FROM jupyter/datascience-notebook USER root WORKDIR /tmp # MeCab + mecab-ipadic-NEologd (/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd) RUN apt-get update \ && apt-get install -y git mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8 file patch make RUN git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git RUN mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -y RUN pip install mecab-python3 RUN cp /etc/mecabrc /usr/local/etc/ # CRF++ (Cabochaで必要) RUN wget -O /tmp/CRF++-0.58.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7QVR6VXJ5dWExSTQ' \ && cd /tmp/ \ && tar zxf CRF++-0.58.tar.gz \ && cd CRF++-0.58 \ && ./config...

Kubernetesお勉強その5【環境構築】GlusterFSインストールShellスクリプト準備

イメージ
  前回 はKubernetesのコントロールプレーン3台に GlusterFS を載せるという暴挙をやったわけですが、 kubernetes からの接続で思わぬトラブルがあったので、やはりkubernetesサーバとは別のサーバでGlusterFSで動かそうということで、kubernetesサーバの前段で動かしているHA-ProxyサーバでGlusterを2台構成で動かすことにしました。 赤枠で囲ったところにGlusterFSを載せこみます。新しくディスクを準備すると空き容量が減るので「/」にglusterfsというディレクトリを切ってそこをGlusterの利用ディレクトりにします。(repricaでの2台構成も、専用ディスク準備しないのも同居させるのも非推奨なのでよいこのみんなは真似しないようにしましょう)コマンドを叩くのもあれなのでShellスクリプトにしました。 ◆Shellスクリプト #bin/bash CMDNAME=`basename $0` if [ $# -ne 7 ]; then echo "Usage: ${CMDNAME} networkaddress glusterpath lb1 lb2 nodetype" 1>&2 exit 1 fi NODETYPE=$1 # Gluster NodeType NETWORK=$2 # Setting CIDR GLUSTERPATH=$3 # glusterfs mount path SUBPATH=$4 # glusterfs directory path VOLUMENAME=$5 # glusterfs volumename LB1_NAME=$6 # loadbarancer1 hostname LB2_NAME=$7 # loadbarancer2 hostname #Open fireWall sudo ufw allow from ${NETWORK} to any port 111 sudo ufw allow from ${NETWORK} to any port 2409 sudo ufw allow from ${NETWORK} to any proto tcp port 24007:240...

Kubernetesお勉強その4【環境構築】GlusterFSインストール(冗長分散ストレージ構築)

 Kubernetesの環境構築自体はできたもののストレージをどうするか色々と調べていて、なんとなく分散ストレージで3台冗長構成で組んでみたくなりました。調べていると Cept hとGlusterFSとか色々とあるらしいですが お手軽に使用したいことからKubernetesを入れている仮想マシンに GlusterFS を入れることにしました(本当は分けたほうがいいんだろうけど、そのままストレージ使えたほうが楽かと思って同居させることにしました。)相変わらずのコピペっぷりでインストール、構築まで完了させ3台構成で無事にレプリカまでできました。 ◆作業手順 # 1.追加パーテーションの作成 $ sudo fdisk /dev/sda fdisk (util-linux 2.34) へようこそ。 ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。 書き込みコマンドを使用する際は、注意して実行してください。 GPT PMBR size mismatch (104857599 != 167772159) will be corrected by write. The backup GPT table is not on the end of the device. This problem will be corrected by write. コマンド (m でヘルプ): p ディスク /dev/sda: 80 GiB, 85899345920 バイト, 167772160 セクタ Disk model: Virtual Disk ~中略~ デバイス 開始位置 最後から セクタ サイズ タイプ /dev/sda1 2048 1050623 1048576 512M EFI システム /dev/sda2 1050624 3147775 2097152 1G Linux ファイルシステム /dev/sda3 3147776 104855551 101707776 48.5G Linux ファイルシステム コマンド (m でヘルプ): n パーティション番号 (4-128, 既定値 4): 4 最初のセクタ (104855552-167772126, 既定値 1048555...