chevron_left

メインカテゴリーを選択しなおす

cancel
Opensourcetechブログ https://www.opensourcetech.tokyo/

オープンソース技研による主にLinux・オープンソースに関するブログです。

Linux(CentOS,Debian,Ubuntu)や様々なオープンソースソフトウェアの使い方・インストール方法などを紹介しています。

opensourcetech
フォロー
住所
東京都
出身
東京都
ブログ村参加

2014/09/11

arrow_drop_down
  • Bind9(DNSサーバ)構築 on Ubuntu 22.04 LTS

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Ubuntu Server 22.04 LTS(VM)にBind9を構築します。 Bind9のインストール aptを使って、bind9・bind9-utils・dnsutilsをインストールします。 ubuntu@ubuntu:~$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.3 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.…

  • メールサーバ構築 on Ubuntu 22.04 LTS

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Ubuntu Server 22.04 LTS(VM)にメールサーバを構築します。 ソフトウェアインストール postfix(SMTP)とdovecot(POP/IMAP)をインストールします。 dovecotが、dovecot-core・dovecot-imapd・dovecot-pop3dと3つに分かれている点がRPM系と違いますね! ubuntu@ubuntu:~$ sudo apt update [sudo] passwor…

  • Ubuntu Server 18.04.6 LTSのインストール

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Ubuntu Server 18.04.6 LTS Desktopをvirtualbox上の仮想マシン(VM)にインストールするメモです。 インストーラのダウンロード https://releases.ubuntu.com/18.04/ 仮想マシンの設定 メモリー:2048MB vCPU:2 ストレージ:25GB としました。 インストーラの起動 起動をクリックし、インストーラを起動します。 インストール作業 インストール作業中に使…

  • Ubuntu 22.04.3 LTS Desktopのインストール on Virtualbox

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Ubuntu 22.04.3 LTS Desktopをvirtualbox上の仮想マシン(VM)にインストールするメモです。 インストーラのダウンロード 以下より、ISOイメージを取得します。 https://ubuntu.com/download/desktop 仮想マシン(VM)の作成 メモリ:2GB(2048MB) CPU:2個 ISOイメージ:前工程でダウンロードしたもの ネットワーク:ブリッジアダプター(ホストPCと同じN…

  • Podに環境変数を渡す方法(kubernetes)

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに KubernetesのPodへ環境変数を渡す方法に関するメモです。 その1 env/valueで定義する root@rke2-1:~# kubectl explain pod.spec.containers.env KIND: Pod VERSION: v1 FIELD: env <[]EnvVar> DESCRIPTION: List of environment variables to set in the container. Ca…

  • hostPathによるPodへのデータ共有(kubernetes)

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに Kubernetes volume機能のhostPathを使ったデータ共有に関するメモです。 やってみる 早速、やってみます。 root@rke2-1:~# cat pod10.yaml apiVersion: v1 kind: Pod metadata: name: testweb spec: containers: - name: testweb image: nginx volumeMounts: - mountPath: /tmp/…

  • LivenessProbe/ReadinessProbe/StartupProbeを使ってみる(kubernetes)

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesでLivenessProbe・ReadinessProbe・StartupProbeを使ってみます。 それぞれの機能ですが、以下の通りとなります。 LivenessProbe:Pod内コンテナが期待されるサービス応答をするかどうか ReadinessProbe:Pod内コンテナのサービスレベルでの応答可否 StartupProbe:上記2つを開始させる前のコンテナ初回動作確認 本家ドキュメントは、こちら。 htt…

  • RKE2(Rancher Kubernetes Engine)のアップグレード

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、以下の記事で構築したRKE2のアップグレードをしてみます。 RKE2(Rancher Kubernetes Engine)の構築 アップグレード手順 以下に記載されています。 構築同様に、基本的にはスクリプトを実行すれば大丈夫です。 https://docs.rke2.io/upgrade/manual_upgrade Server Nodeのアップグレード root@rke2-1:~# curl -sfL https://get.…

  • RKE2(Rancher Kubernetes Engine)の構築

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、RKE2によるkubernetesクラスターの構築をしてみます。 RKE2とは RKE2とは、Rancherの次世代Kubernetes Engineです。 https://docs.rke2.io/ RKE1との違いでいうと、 RKE1ではDockerがCRI(Container Runtime Interface)ランタイムとなっていましたが、RKE2ではcontainerdとなりました。 RKE2構築の前提条件 前提条件は以下…

  • CKAD対策 Q8&A8

    Q8 以下のPodをデプロイし、CPUとメモリーの使用率をliveness-exec_resource.txtに保存してファイルの内容を確認せよ。 ※https://raw.githubusercontent.com/kubernetes/website/main/content/en/examples/pods/probe/exec-liveness.yamlからダウンロード可 apiVersion: v1 kind: Pod metadata: labels: test: liveness name: liveness-exec spec: containers: - name: live…

  • CKAD対策 Q7&A7

    Q7 以下のPodをデプロイし、ログをliveness-exec.logに保存してファイルの内容を確認せよ。 ※https://raw.githubusercontent.com/kubernetes/website/main/content/en/examples/pods/probe/exec-liveness.yamlからダウンロード可 apiVersion: v1 kind: Pod metadata: labels: test: liveness name: liveness-exec spec: containers: - name: liveness image: registr…

  • CKAD対策 Q6&A6

    Q6 ①以下のLiveness Probeを実行して挙動を確認せよ。 ※https://raw.githubusercontent.com/kubernetes/website/main/content/en/examples/pods/probe/exec-liveness.yamlからダウンロード可 apiVersion: v1 kind: Pod metadata: labels: test: liveness name: liveness-exec spec: containers: - name: liveness image: registry.k8s.io/busybox arg…

  • CKAD対策 Q5&A5

    Q5 ①以下の条件でserviceaccountを作成する 名前空間:ckad ※ない場合作成する 名前:testsa ②以下の条件でdeploymentを作成する 名前空間:ckad 名前:test-deployment 使用するイメージ:nginx 作成するレプリカ数:2 ③作成したserviceaccountをdeploymentに付与する A5 ①serviceaccountの作成 kubeuser@master01:~$ kubectl create ns ckad namespace/ckad created kubeuser@master01:~$ kubectl get ns …

  • CKAD対策 Q4&A4

    Q4 ①以下の条件でconfigmapを作成する 名前:test-config key/valueの組み合わせ:server/web namespace:ckad ※ないなら作成する ②以下の条件でPodを起動する namespace:ckad 名前:configmap-pod configmapをボリュームとしてマウントするディレクトリ:/mnt/configmap 使用するイメージ:nginx A4 ①configmapの作成 kubeuser@master01:~$ kubectl get ns NAME STATUS AGE blue Active 282d cadvisor Acti…

  • CKAD対策 Q3&A3

    Q3 以下の条件でPodを起動する namespace:ckad ※ない場合作成する Pod名:resourcepod 使用するイメージ:nginx CPUリソース要求:50m CPUリソースリミット:100m メモリーリソース要求:50Mi メモリーリソースリミット:100Mi A3 kubetl get ns/kubectl run/kubectl applyの使用 kubeuser@master01:~$ kubectl get ns NAME STATUS AGE blue Active 281d cadvisor Active 237d default Active 297d ing…

  • CKAD対策 Q2&A2

    Q2 ①以下のsecretを作成する 名前:secret1 key/valueの組み合わせ:server/web ②以下の条件に合うPodを起動する 作成したsecretの使用 secretを格納する変数:val1 使用するイメージ:nginx Pod名:secretpod A2 ①kubectl create secretの使用 kubeuser@master01:~$ kubectl create secret generic secret1 --from-literal=server=web secret/secret1 created kubeuser@master01:~$ kube…

  • CKAD対策 Q1&A1

    Q1 ①ckadというnamespaceを作成する ②以下の条件でPodを起動する 名前:CacheServer 使用イメージ:lfccncf/redis(タグ3.2) 公開ポート:6379 namespace:ckad ③Podの起動確認を行う A1 ①kubectl create nsによるnamespaceの作成 kubeuser@master01:~$ kubectl get ns NAME STATUS AGE blue Active 281d cadvisor Active 237d default Active 296d ingress-nginx Active 294d ist…

  • Webサーバ(Apache2)構築 on Ubuntu Server 22.04.3 LTS

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 以下の記事でインストールしたUbuntuにWebサーバ(apache2)を構築してみます。 Ubuntu Server 22.04.3 LTSのインストール on Virtualbox 7.0.12(Windows) Apache2のインストール APTパッケージリストの最新化 ubuntu@host1example1jp:~$ sudo apt update [sudo] password for ubuntu: Hit:1 http:/…

  • Ubuntu Server 22.04.3 LTSのインストール on Virtualbox 7.0.12(Windows)

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Virtualbox7.0.12(Windows11)にUbuntu Server 22.04.3 LTSをインストールしてみます。 Ubuntu ISOイメージの取得 以下より、ISOイメージを取得します。 https://ubuntu.com/download/server 仮想マシンの設定 使用するISOイメージのパス指定 メモリー&CPUコア数の指定 ※EFIも有効にします ストレージ容量の指定 設定の確認 ネットワーク設定…

  • Open Source Summit Japan 2023: ボランティアリーダーの体験記

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 12/5(火)~6(水) 有明カンファレンスホールにて開催されたOpen Source Summit Japan2023に運営ボランティアリーダーとして参加してきたので、 その記録を残しておきます。 Open Source Summit Japanとは 今年は、Linuxカーネル開発者のLinus Torvaldsが久しぶりに参加するとのことで非常に盛り上がりました。 https://events.linuxfoundation.org/o…

  • クラウド環境(Azure/GCP/AWS)におけるkubernetesの永続ボリューム(ストレージ)利用

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、クラウド(Azure/GCP/AWS)上のkubernetesにおいて永続ボリューム(ストレージ)として何が使えるのか、調べてみました。 kubernetesにおけるストレージ利用 kubernetesでPodなどの永続的な(消えない)データ保続先を定義する場合、以下があります。 ①Pod → PVC(Persistent Volume Claim、ボリューム使用要求) → PV(Persistent Volume、ボリューム領域)…

  • Linus Torvaldsさん(Linux開発者)とGreg Kroah-Hartmanさん(Linuxカーネルメンテナー)に会ってきた♪

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Linux開発者のLinus TorvaldsさんとLinuxカーネルメンテナーのGreg Kroah-Hartmanさんに会ってきた話です。 どこで会ったの? 12/5(火)~12/6(水)に有明カンファレンスホールにてOpen Source Summit Japan2023というイベントがあり、その基調講演(キーノート)の登壇者として両者が来日しておりました。 https://events.linuxfoundation.org…

  • Pythonの開発者Guido van Rossumさんに会ってきた♪

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Pythonの開発者Guido van Rossumさんに会ってきた話です。 どこで会えたのか 東京大学AIセンター・情報処理学会・日本ディープラーニング協会・NEC の主催でPython開発者 Guido van Rossum氏 インタラクティブ記念講演会 ~Pythonの生みの親、Guido氏に会える!~ (@東京大学 武田ホール)というイベントが11/30(木)に開催されました。 アジェンダは、以下の通り。 https://p…

  • Raspberry Pi PicoでのMicroPython活用法

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Raspberry Pi PicoでMicroPythonを使ってどんなことが出来るのか調べてみます。 MicroPython MicroPythonは、Raspberry Pi Pico などの組み込みハードウェア上で直接実行されるPython3プログラミング言語です。 https://www.raspberrypi.com/documentation/microcontrollers/micropython.html Raspb…

  • ChatGPTの回答カスタマイズ方法

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに ChatGPTって便利ですが、その学習データに自分が欲しい情報が含まれていない場合などにはこれじゃないという回答になることがあると思います。 ※xxxx年xx月までの情報しか学習していませんなど その場合に少し回答をカスタマイズする手法がいくつかあるとのことなので、調べてみました。 なお、有料版でのみ利用可能なものもありますのでご注意ください。 プラグインの使用 まずは、プラグインの使用です。 目的に応じたプラグインを使うことで、求める回答…

  • Kotlinはじめの半歩(Kotlin入門: 開発環境の導入から操作方法まで)

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、ちょっとKotlinに触れることがあったのでその始め方を記録に残しておきます。 kotlinの概要 細かいことは本家サイトを見て頂ければいいので省きますが、 以下のような特徴があります。 ・Javaとの相互運用性 ・Android開発で正式にサポートされている ・オープンソースである ・オブジェクト指向プログラミングと関数型プログラミングの両方をサポート Kotlinの概要 開発環境のインストール Intellij IDEA・And…

  • Cloud Native Community Japan Kickoff meetupに参加してきた!

    LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 12/1(金)に開催されたCloud Native Community Japan Kickoff meetupに参加してきました。 https://community.cncf.io/events/details/cncf-cloud-native-community-japan-presents-cloud-native-community-japan-kickoff-meetup/ Cloud Native Community Jap…

  • iptraf-ngのスクリーンショット

    IP traffic monitor ubuntu@soda:~$ sudo iptraf-ng -i enp1s0 General interface statistics ubuntu@soda:~$ sudo iptraf-ng -g Detailed interface statistics ubuntu@soda:~$ sudo iptraf-ng -d enp1s0 LAN station monitor ubuntu@soda:~$ sudo iptraf-ng -l enp1s0

  • マイクロサービス 9つの特徴

    以下の記事の翻訳です。 https://martinfowler.com/articles/microservices.html マイクロサービス この新しい建築用語の定義は 「マイクロサービスアーキテクチャ」という用語は、独立してデプロイ可能なサービスのスイートとしてソフトウェアアプリケーションを設計する特定の方法を説明するために、ここ数年で生まれました。このアーキテクチャスタイルの正確な定義はありませんが、ビジネス機能、自動デプロイ、エンドポイントのインテリジェンス、および言語とデータの分散制御に関する組織には、特定の共通の特徴があります。 「マイクロサービス」-ソフトウェアアーキテクチャ…

  • kubernetes環境における送信元IPアドレスの保持(externalTrafficPolicy: Local)

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、kkubernetes環境における送信元IPアドレスの保持について確認してみます。 以下の記事にあるService(LoadBalancer)環境を使って確認していきます。 https://www.opensourcetech.tokyo/entry/20230316/1678966960 試験環境の構築 まず、試験用の環境構築。 namespace(名前空間)の作成。 kubeuser@master01:~/202310…

  • Linux Kernel CapabilityをKubernetes Podで設定する

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesのPodにLinux Kernel Capabilityを設定してみます。 Linux Kernel Capabilityとは LinuxカーネルのCapability(権限)は、プロセスの特権とアクセス権を制御するための仕組みです。Linuxはセキュリティとアクセス管理の観点から、プロセスが実行できる操作やリソースへのアクセスを制御するためにCapabilityを使用します。 通常、Linuxではスー…

  • Azure Virtual Machineで仮想マシンを起動する

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、Azure環境でVMを起動してみます。 ※Azureのアカウントが既にある前提。 リソースグループの登録 必要に応じて、リソースグループ(管理用情報)を作成します。 ※不要な場合は、この手順はスキップすればOK。 VMの作成 Virtual MachineでVM(仮想マシン)を定義していきます。 仮想マシン名・地域・セキュリティの種類・イメージ(今回はUbuntu 20.04や22.04を使った)・サイズ・ユーザー名・SS…

  • ユーザ名と秘密鍵を使ったSSHアクセス

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、ユーザ名と秘密鍵を使ったSSHアクセスに関するメモです。 sshコマンドの場合 ssh (-p 22) ユーザ名@IPアドレス -i 秘密鍵 を使います。 bash-3.2$ ssh -p 222 ubuntu@192.168.100.101 -i test.pem リモートアクセス先のポート番号がデフォルトの22の場合、指定は不要。 なお、秘密鍵のパーミッション(権限)でエラーとなったら、パーミッションを0400や060…

  • kubernetesノードのリソース不足

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesノードにおけるリソース(CPU/メモリー)不足に関するトピックです。 リソース不足になった場合 Podなどのデプロイでエラーが発生します。 例えば、CPUリソースが不足の場合以下のようなメッセージが出ます。 Warning FailedScheduling 11s (x3 over 5m18s) default-scheduler 0/2 nodes are available: 1 Insuffici…

  • Node AffinityによるPod起動ノードの管理(kubernetes)

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesにおけるNode Affinityを使ったPod起動ノートの制御をしてみます。 Node Affinityとは Node Affinityですが、ノードや既存Podに付与されたラベルを使用してPodを起動するノードを制御する方法です。 同じようなものとして、nodeSelectorがありますが、 それよりも柔軟・複雑な制御が可能です。 ※必須条件・オプション条件の指定や複数条件(OR/AND)の指定など…

  • nodeSelectorによるPod起動ノードの制御(kubernetes)

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesにおけるnodeSelectorを使ったPod起動ノートの制御をしてみます。 nodeSelectorとは 仕組みとしてはシンプルで、 ノードに付与されたラベルを指定して、そのノード上にPodを起動するというものです。 https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ nodeSelectorを使ってみる で…

  • kubernetesのラベルにbool型を指定する際には準拠するYAMLの仕様(version1.1)に気を付けた方がいい

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに kubernetesのラベルでbool型を使ってちょっとはまったので、それに関するメモです。 やってみたこと kubernetesのノードに gpu: onというラベルを付与して、nodeSelectorを使うとPodを起動できなかったというものになります。 ラベルの付与。 kubeuser@master01:~/nodeSelector$ kubectl get nodes --show-labels NAME STATUS R…

  • TaintとTolerationsによるPodの配置管理(kubernetes)

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回はkubernetesのPod(コンテナ)を特定のノードに配置しないようにTaintとTolerationを使ってみます。 TaintとTolerationsとは Taintは特定のノードにマーキング(Taintは汚れという意味)をして、 それを許容(Tolerarion)するPodのみ配置(スケジューリング)出来るようにするものです。 Taintをノードに付ける 早速、特定ノードにTaintを付けてみます。 まず、現在のノー…

  • Wordcloud文字列表示位置とフォントのカスタマイズ

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに こちらの記事でWordcloudを使ってみました。 今回は指定した範囲にもに文字列を配置するようにカスタマイズしてみます。 文字配置位置の決定 まずは範囲指定するための画像ファイルを用意します。 テスト用に用意したのは、仮面ライダーです。 それを元に輪郭だけ切り取り、文字を配置する部分を黒、配置しない部分を白で塗りつぶします。 Wordcloud化 画像の準備が出来たら、WordcloudすればOK。 画像ファイルと以下のPyth…

  • OpenAIのAPIを使ってみる

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回はOpenAIのAPIを使ったPythonの簡単な対話型プログラムを作ってみようと思います。 前提 APIを使うためのKeyの発行に、OpenAIの有料アカウント(サブスクリプション)が必要となります。 また、APIの利用にはそのサブスクリプションと別で料金が発生するので注意が必要です。 https://openai.com/pricing https://help.openai.com/en/articles/7039783…

  • kubernetesのPod(コンテナ)のパケットキャプチャを取得する方法

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回はkubernetesのPod(コンテナ)のパケットキャプチャを取得してみようと思います。 ※kubectlのプラグインksniffを使います。 ksniffとは ksniffは、kubernetesクラスター内の指定Podにおけるパケットキャプチャを可能にするkubectlのプラグインです。 ksniff Capture packets in Kubernetes with this open source tool 当然で…

  • コーチングとメンタリング、及びその違い

    コーチング コーチングは、個人やチームが自己理解を深め、パフォーマンスを向上させ、目標を達成するための手法です。コーチングは、教育、ビジネス、スポーツなど、さまざまな分野で用いられます。 コーチングは通常、コーチとクライアント(またはコーチィー)との対話を通じて行われます。コーチの役割は、クライアントが自分自身の問題や課題を理解し、それらを解決するための新たな視点や戦略を発見するのを支援することです。コーチングは指示やアドバイスを与えるのではなく、問いを提起し、探求し、反射するプロセスを促すことで、クライアントが自己啓発を行うのを助けます。 一部のコーチング手法では、特定のフレームワークやモデ…

  • 受講者満足度の代表的な指標

    CAST CSAT、または顧客満足度(Customer Satisfaction)は、企業が提供する商品やサービスに対する顧客の満足度を測定するための指標の一つです。この指標は、顧客が企業の商品やサービスにどれだけ満足しているかを数値的に表現することを目指しています。 CSATスコアは通常、アンケート形式で収集されます。顧客は特定の商品やサービスに対して「非常に不満」から「非常に満足」までの範囲で評価を行います。これらの評価は通常、数値(たとえば1から5)に変換され、全体のCSATスコアはすべての顧客の評価の平均または合計として計算されます。 CSATは企業が商品やサービスを改善し、顧客ロイヤ…

  • Linux・Windows・Mac OSのFontパス

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに この記事は、Linux・Windows・Mac OSのFontパスに関するメモです。 Linux(ubuntu22.04LTS) ubuntu@ubuntuserver:~/python_test$ ls -R /usr/share/fonts /usr/share/fonts: cMap cmap meiryo opentype truetype type1 /usr/share/fonts/cMap: Identity-UTF…

  • データ分析の秘密兵器: WordCloudの活用法

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回はWordCloudを使って、データ分析(長文における単語頻出度合い)してみます。 WordCloudとは WordCloudは、文章に含まれる単語の頻出度合い可視化してくれるPythonのライブラリです。 https://amueller.github.io/word_cloud/ 答えを予め出しておくと、こんな感じになります。 前提条件 作業の前提ですが、今回はUbuntu 22.04.2 LTS上でPython3が実行で…

  • Kubernetes 1.27の新機能(Feature Gate)を有効化し、InPlacePodVerticalScalingを試してみる

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetes 1.27の新機能(Feature Gate)として実装されたInPlacePodVerticalScalingを有効化して使ってみようと思います。 https://kubernetes.io/blog/2023/05/12/in-place-pod-resize-alpha/ Feature Gateとは KubernetesのFeature Gateは、今後正式機能となる候補の位置づけになります。 …

  • Prometheus・Grafana・各種Exporter(node-exporter・cAdvisor)によるモニタリング

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回はPrometheus・Grafana・各種Exporterによるモニタリング(監視)を使ってみようと思います。 概要とそれぞれの役割をざっくり説明すると、以下のようなになります。 Prometheus:データ収集 Grafana:データのグラフ化 Exporter:データの公開(コンテナだとcAdvisor、Linuxホストだとnode-exporterなど) なお、上記ソフトウェアのインストールや監視対象(Linuxホスト…

  • KubernetesクラスターのUpgrade(1.26 to 1.27)

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回は、以前作成したDualStackのkubernetesクラスターを1.26から1.27にアップグレードします。 アップグレード方法 対象となるkubernetesクラスターは、以下の3台構成(master1、worker2)です。 kubeuser@master01:~$ kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-…

  • virshコマンドのスナップショット管理

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回はKVM上でvirshコマンドを使ったスナップショット操作に関するメモです。 virshコマンド まず、virshコマンドで出来る操作の一覧。 このうち、snapshot-xxとあるサブコマンドがスナップショット関連に関するものです。 ubuntu@ubuntu20:~$ virsh --help virsh [options]... [<command_string>] virsh [options]... <command…

  • 読んでみたら思っていたより10倍面白かった♪(GWの宿題)

    LinuCエヴァンジェリスト・Open Source Summit Japan 2022ボランティアリーダーの鯨井貴博@opensourcetechです。 はじめに 今回はGW中に読んでみた本の感想を記録しておこうと思います。 ①イシューからはじめよ この本はイシュー(issue)の解決に関することが書かれているのですが、 ・本当に解決すべきイシューはどれなのか? ・その問題の解決方法 という点について解説されています。 イシューとは、2つ以上の集団の間で決着のついていない問題、 かつ根本にかかわる、もしくは白黒がはっきりしていない問題に該当するものだと定義しています。 そして、対応が必要な課…

  • sternを使った複数Podのログ出力(kubernetes)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesのPodログ出力ツール、sternを使ってみます。 sternとは sternとは、kubernetesの複数Podのログを出力できるソフトウェアです。 https://github.com/stern/stern よくあるやり方だと、以下のようにkubectl logsを使って指定したPodのログを確認します。 kubeuser@master01:~$ kubectl logs nginx-6cbc9bb4f5-pfhfz /docker-entrypoint.sh: /dock…

  • OpenAI社の"Our approach to AI safety"(日本語訳)

    原文は、こちら Our approach to AI safety AIの安全性に対する当社のアプローチ Ensuring that AI systems are built, deployed, and used safely is critical to our mission. AIシステムが安全に構築、展開、使用されることを保証することは、私たちの使命にとって非常に重要です。 OpenAI is committed to keeping powerful AI safe and broadly beneficial. We know our AI tools provide many …

  • Deploymentの耐障害性(自動復旧)とオートスケーリング(kubernetes)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesのDeploymentの耐障害性(自動復旧)とオートスケーリングを検証してみます。 なお、kubernetesは以下の記事で作成したクラスターを使っています。 DualStack(IPv4 & IPv6)のkubernetesクラスター構築(v1.26.00・ubuntu22.04) https://www.opensourcetech.tokyo/entry/20230314/1678782139 検証すること 検証する内容は、以下の通りです。 ・Deploymentの耐障害性(…

  • helmをインストールする(kubernetes)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesへのパッケージ管理ツールであるhelmをインストールします。 なお、kubernetesは以下の記事で作成したクラスターを使っています。 DualStack(IPv4 & IPv6)のkubernetesクラスター構築(v1.26.00・ubuntu22.04) https://www.opensourcetech.tokyo/entry/20230314/1678782139 レポジトリの設定 まず、レポジトリの設定をします。 kubeuser@master01:~$ curl …

  • Network Policyによるトラフィック制御(kubernetes)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Network Policyを使ってPod間の通信制御をしてみます。 なお、kubernetesは以下の記事で作成したクラスターを使っています。 DualStack(IPv4 & IPv6)のkubernetesクラスター構築(v1.26.00・ubuntu22.04) https://www.opensourcetech.tokyo/entry/20230314/1678782139 Network Policyとは Network Policyとは、kubernetesクラスター内のPod(コンテ…

  • kubernetes dashboardを使う

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetes-dashboardを使ってみます。 なお、kubernetesは以下の記事で作成したクラスターを使っています。 DualStack(IPv4 & IPv6)のkubernetesクラスター構築(v1.26.00・ubuntu22.04) https://www.opensourcetech.tokyo/entry/20230314/1678782139 kubernetes-dashboardとは kubernetes-dashboardは、kubernetesリソースのモニタリ…

  • kube-proxyのmodeをiptablesからipvsに変更する

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 前回(kubernetesにおけるPodへの負荷分散状況の確認(Service/Deployment経由))の記事でトラフィックの分散をkube-proxyが担っていることが分かりました。 なので今回さらに深堀りということで、kube-proxyの動作モードをデフォルト(iptables)からipvsに変更してトラフィック分散の挙動を確認してみようと思います。 なお、kubernetesはこちらの記事で作ったものを使っています。 kube-proxy動作モードの確認 まず、特にモード指定せずにインストールした…

  • kubernetesでstatic podを起動させる

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesでstatic podを起動させてみます。 なお、作業はこちらの記事で作成したkubernetesクラスター v1.26.00で実施します。 static podとは 通常のPod(コンテナ)は、yamlを適用(apply)するとkubernetesのAPIサーバによって起動されます。 Podが起動されるNodeは、nodeSelectorやnodeアフィニティなどで決定されます。 ※詳細は、こちら。 static podはそれとは異なり、Podのyamlファイルを起動させたいNo…

  • kubernetesにおけるPodへの負荷分散状況の確認(Service/Deployment経由)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesでPod(コンテナ)へのアクセスってどのような分散がされるのか確認してみます。 具体的には、こんな環境で実施します。 環境構築 まず、以下の記事を参考に"Deployment1"と"Deployment2"を作成します。 nginxコンテナ(Pod)のコンテンツ(index.html)をConfigMapで提供・更新する(kubernetes) https://www.opensourcetech.tokyo/?page=1679832639 kubeuser@master01:~…

  • kubectl topコマンドを実施する(metrics-serverの導入)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetes環境でkubectl topコマンドを実施できるようにします。 なお、作業はこちらの記事で作成したkubernetesクラスター v1.26.00で実施します。 kubectl topとは kubectl topにあるように、PodやNodeのCPUとメモリーの使用量を表示するコマンドです。 ※https://kubernetes.io/ja/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/ kubeuser@mas…

  • nginxコンテナ(Pod)のコンテンツ(index.html)をConfigMapで提供・更新する(kubernetes)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、こちらの記事で作成したkubernetesクラスター v1.26.00で、 nginxコンテナ(Pod)のコンテンツファイル(index.html)をConfigMapを使って提供、またコンテンツファイルの更新をやってみます。 実施する内容 以下のように進めていきます。 ①コンテンツファイル index.html(ConfigMap)の作成 ※Deploymentで指定する ②nginxコンテナ(Deployment)のデプロイ ③コンテナの公開(Service) ④クライアントからのアクセス ⑤コン…

  • NGINX Ingress Controller + Ingressによるサービス公開(kubernetes v1.26)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、こちらの記事で作成したkubernetesクラスター v1.26.00で、 NGINX Ingress ControllerとIngressを使って外部クライアントへのサービス公開をやってみます。 なお、サービス公開はIPv4のみ(Single Stack)とIPv4&IPv6(Dual Stack)で行います。 Ingressとは Ingressとは、クラスター内のServiceに対する外部からのアクセス(主にHTTP)を管理するAPIオブジェクトです。 ※https://kubernetes.io…

  • MetalLBとService(type:LoadBalancer)による外部クライアントへのサービス公開(kubernetes v1.26.00 on ubuntu22.04)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、こちらの記事で作成したkubernetesクラスター v1.26.00で、 MetalLBとService(type:LoadBalancer)を使って外部クライアントへのサービス公開をやってみます。 なお、サービス公開はDual Stack(IPv4&IPv6)で行います。 Serviceとは kubernetesにおけるServiceは、起動済みのPod(コンテナ)へと外部からアクセスする手段の一つであり、以下の4種類があります。 ClusterIP:kubernetesクラスター内部のPodなど…

  • Dual Stack環境のkubernetesにおけるServiceの挙動

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに Dual Stack環境のkubernetes(v1.26.0)におけるServiceの挙動(IPv4とIPv6のどっちが有効になるの?)に関するメモです。 なお、Dual Stack環境のkubernetesクラスターはこちらで構築したものを使っています。 やってみること 以下のようにkubernetes上にnginxのDeploymentsがあるので、 それを公開(Service)して挙動を確かめます。 ※kubectl create deployments nginx --image=nginx:1.2…

  • kubectlコマンドの補完やalias

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに kubectlコマンドの補完に関するメモです。 こちらを参考にしています。 Linuxのbashなどであればファイルパスなどtabキーで補完できますが、 同じようにkubectlも使えれば楽だよなぁっていう技です。 CKAの試験時にも使える便利な技なので、覚えておくといいかと思います。 やってみる 具体的には、以下のような場面で補完出来れば操作が楽になります。 ※kubectl get podsを実行したい。 kubeuser@master01:~$ kubectl g error: unknown comm…

  • DualStack(IPv4 & IPv6)のkubernetesクラスター構築(v1.26.00・ubuntu22.04)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Kubernetes v1.26.00のDual Stack(IPv4 & IPv6の両方使える)構築を行っていきます。 ※kubernetesでは、v1.16からDual Stackが利用可能となっている。 構築する環境 ・Clusterの構成 Master Node 1台 & Worker Node 2台 ※KVM上のVMを使いました。 virt-install --name master01 --ram 4096 --disk size=40 --vcpus 2 --os-variant ubu…

  • pam_tally2.soによるアカウントロックとSSHアクセスリトライ回数の関係

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 pam_tally2.soによるアカウントロックとSSHアクセスリトライ回数の関係をちょっと調べてみました。 はじめに 実施した内容は、以下の通り。 sshクライアントの設定(ssh_configのNumberOfPasswordPrompts)、sshサーバ(sshd)の設定(ssh_configのNumberOfPasswordPrompts)とpam_tally2.soを使ったアカウントロックです。 ※NumberOfPasswordPromptsは、何回パスワード失敗によるリトライを許容するかというパラメータ。…

  • kubectlで"error: You must be logged in to the server (Unauthorized)"となって認証されない場合の復旧方法

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 kubernetesでerror: You must be logged in to the server (Unauthorized)となって認証が通らなくなった際の復旧に関するメモです。 はじめに 具体的には、以下のようになった場合です。 そのままですが、Unauthorized(認証出来ん!)っていうてますね。 kubeuser@kubenewmaster1:~$ k get nodes error: You must be logged in to the server (Unauthorized) kubeu…

  • kubernetesクラスター(api-server)にREST API(curlなど)でアクセスする

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回はkubernetesクラスターのapi-serverにREST API(curlなど)でアクセスしてみます。 はじめに kubernetesクラスターにおけるアクセスの認証では、通常configファイル($HOME/.kube/configなどにある)が使われています。 kubeuser@kubenewmaster1:~$ cat .kube/config apiVersion: v1 clusters: - cluster: certificate-authority-data: SL0tLS1CRUdJTiB…

  • Ubuntu 22.04でのwi-fi設定(netplan)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回はubuntu22.04におけるnetplanのwi-fi設定に関するメモです。 netplanの設定 OS情報の確認。 ubuntu@kvm2ubuntu:~$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian…

  • リモートアクセス(SSH/RDPなど)の踏み台サーバ Apache Guacamoleを使ってみる

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、リモートアクセスの踏み台サーバであるApache Guacamoleを使ってみます。 Apache Guacamole Apache Guacamoleは、SSH・RDP・VNCに対応した踏み台サーバです。 Apache Guacamoleはユーザ認証機能や接続先情報を持っていて、そこにブラウザでアクセスします。 Apache Guacamoleのインストール ※CentOS7を使っています。 guacd(Guacamole)とtomcatをインストールします。 [root@localhost ~]#…

  • nginxでIPv6アドレスでのアクセスを受け付ける

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに nginxでIPv6アドレスで待ち受ける方法のメモです。 listenディレクティブ IPv6での待ち受けには、listenディレクティブを使います。 マニュアルに記載されていますが、以下のようにすればOKです。 listen [::]:8000; listen [::1]; やってみる 早速やってみましょう♪ ※デフォルトのTCP80じゃなく、TCP81を使ってます。 [root@localhost ~]# cat /etc/nginx/conf.d/default.conf server { listen…

  • CLOUD NATIVE TRAIL MAPを読み解く!

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、CNCFが考える クラウド ネイティブへの移行を開始する企業向けの概要 である CLOUD NATIVE TRAIL MAP を読み解いてみます! CLOUD NATIVE TRAIL MAPとは クラウド ネイティブへの移行を開始する企業向けの概要 であり、 オープン ソースのクラウド ネイティブ テクノロジーを活用するための推奨プロセス です。 ステップは10あり、ステップ3以降はオプションとなります。 各ステップで利用できるサービスやツール・ソフトウェアは、クラウド ネイティブ ランドスケープで…

  • KubeDay Japan 2022に参加してきました!

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに メリークリスマス!!!!!!! 今回は、Qiita Advent Calendarのリアルイベント参加してきたよ!の25日目として、 KubeDay Japan 2022に参加してきたことを書いていきます! https://qiita.com/advent-calendar/2022/joining-real-events KubeDay Japanとは? CNCFが開催するKubernetesやCloud Nativeに関するカンファレンスで、12/7にインターコンチ(横浜)で開催されました。 events…

  • Open Source Summit Japan 2022にイベント運営ボランティアリーダーとして参加してきました!

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Qiita Advent Calendarのリアルイベント参加してきたよ!の24日目として、 Open Source Summit Japan 2022にボランティアリーダーとして参加してきた記録を書いていきます! https://qiita.com/advent-calendar/2022/joining-real-events Open Source Summit Japanとは? Linux Foundationが開催するオープンソースエコシステムに関するカンファレンスで、12/5・12/6と開…

  • 初めてのAKS(Azure Kubernetes Service) on Microsoft Azure

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Qiita Advent Calendar2022のAzureの23日目として、 Microsoft Azureで初めてのAKS(Azure Kubernetes Service)を使ってみます! https://qiita.com/advent-calendar/2022/azure AKSとは? Microsoft Azure上で利用できるKubernetesのマネージドサービスです。 ※kubernetes環境を用意してくれるので、利用者はアプリケーションのデプロイすればいいだけというものです。…

  • 干し柿作成 2日目

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 干し柿2日目の様子です。 柿の皮をむいたときって ぬるぬるしているかと思いますが、 1日乾燥してそれがなくなりました。 見た目の変化は、まだまだないですね。

  • 干し柿作成 1日目

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回は技術路線ではありません。 柿がいい感じに実ってきたので、干し柿を作ってみようと思います。 ※渋柿でそのままでは食べられない いきなり大量に作ろうとすると大変そうなので(挫折する自身ありw)、 とりあえず8個だけ作ります。 まず、果梗(かこうと読む、実から出ている枝と枝)をT字型に残します。 続いて、皮をむいて(今回はピーラーを使いました)、 2つの果梗をひもで結びます。 その後、殺菌の為 沸騰したお湯に数秒くぐらせます。 あとは、日当たり・風通しが良いところに干せば完了。 約15日であんぽ柿と言われる水分が50%…

  • Bind9(キャッシュDNSサーバ・権威DNSサーバ)の構築 on Ubuntu 20.04.3 LTS

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回は、Ubuntu 20.04.3 LTS上にBind9でキャッシュDNSサーバと権威DNSサーバを構築してみます。 Bind9の場合、設定ファイル(named.conf)やゾーンファイル(正引き・逆引き)の記載方法がミスしやすいので、 構文チェックや動作確認などしっかり実施しましょう。 DNSの役割 DNSの役割ですが、以下のようにクライアントからの問い合わせを受けて再帰問い合わせやキャッシュを行うキャッシュDNSサーバと、自身がDNSレコード情報を保持する権威DNSサーバがあります。 今回は両役割を同居させるよう…

  • kubeadmで構築したkubernetesクラスターのアップグレード(v1.23 to v1.24)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに https://kubernetes.io/blog/2022/05/03/kubernetes-1-24-release-announcement/ 5/3にkubernetesの新バージョンStargazerがリリースされました。 なので手元にあるv1.23のKubernetesクラスターを、v1.24にアップグレードします。 アップグレード方法は、以下の公式ドキュメントに記載されています。 https://kubernetes.io/docs/tasks/administer-cluster/kubea…

  • nginx njs-0.7.3 released.

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 nginx njs の最新バージョン、0.7.3がリリースされました。 http://nginx.org/ 更新内容は、以下の通り。 http://nginx.org/en/docs/njs/changes.html Changes with njs 0.7.3 Release Date: 12 April 2022 Core: Feature: added support of module resolution callback. This feature allows the host environment t…

  • kubenetesクラスター(v1.22.0)の構築(kubeadm) on Ubuntu Server 20.04.3 LTS

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 予め作成したKVM環境上のVM(Ubuntu Server 20.04.3 LTS×2台)にkubeadmでkubernetesクラスターを構築してみます。 KVMでのVM作成方法 virt-install --name kube_newmaster --ram 4096 --disk size=50 --vcpus 2 --os-variant ubuntu20.04 --network bridge=virbr0 --graphics none --console pty,target_type=serial --…

  • helmを使ったkubernetesクラスターへのサービス展開

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、helmを使ってKubernetesのクラスターへサービスを展開してみます。 helmとは? そのままですが、kubernetes用のパッケージマネージャです。 分かりやすい例だと、RPM系におけるyum・Debian系におけるaptなどと同じような関係となります。 https://helm.sh/ja/ 少し補足しておくと、CNCF(Cloud Native Computing Foundation)のあるプロジェクトの中で、Graduated(成熟したプロジェクト)の一つです。 helmのインスト…

  • nginx njs-0.7.2 released.

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 nginx njs の最新バージョン、0.7.1がリリースされました。 http://nginx.org/ 更新内容は、以下の通り。 http://nginx.org/en/docs/njs/changes.html Changes with njs 0.7.2 Release Date: 25 January 2022 Core: Bugfix: fixed Array.prototype.join() when array is changed while iterating. Bugfix: fixed Arra…

  • nginx mainline 1.21.6 released.

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 nginx mainline の最新バージョン、1.21.6がリリースされました。 http://nginx.org/ 更新内容は、以下の通り。 http://nginx.org/en/CHANGES Changes with nginx 1.21.6 25 Jan 2022 *) Bugfix: when using EPOLLEXCLUSIVE on Linux client connections were unevenly distributed among worker processes. *) Bugfi…

  • nginx njs-0.7.1 released.

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 nginx njs の最新バージョン、0.7.1がリリースされました。 http://nginx.org/ 更新内容は、以下の通り。 http://nginx.org/en/docs/njs/changes.html Changes with njs 0.7.1 Release Date: 28 December 2021 nginx modules: Change: the js_include directive deprecated since 0.4.0 was removed. Change: PCRE/PC…

  • nginx mainline 1.21.5 released.

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 nginx mainline の最新バージョン、1.21.5がリリースされました。 http://nginx.org/ 更新内容は、以下の通り。 http://nginx.org/en/CHANGES Changes with nginx 1.21.5 28 Dec 2021 *) Change: now nginx is built with the PCRE2 library by default. *) Change: now nginx always uses sendfile(SF_NODISKIO) on …

  • kubernetes APIリソース一覧とショートネームについて

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに kubernetesでkubectlのコマンド入力を省略形(ショートネーム)で行っている方をみかけたので、 ちょっと調べてみました。 例えば、以下のような使い方です。 kubeuser@kubemaster1:~$ kubectl get po NAME READY STATUS RESTARTS AGE nginx-6c67f5ff6f-5vbvf 1/1 Running 0 6d7h nginx-6c67f5ff6f-lfl8l 1/1 Running 0 6d7h nginx2-589cdbd4b8-6…

  • LENS(開発統合環境)でkubernetesクラスターを操作する

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、LENS(開発統合環境)でkubernetesクラスターを操作するメモです。 以下の記事で作成したkubernetesクラスターを追加対象としています。 kubenetesクラスターの構築(kubeadm) on Ubuntu Server 20.04.3 LTS https://www.opensourcetech.tokyo/entry/20211201/1638364936 LENSとは? Mac OS/Linux/Windowsなどにインストールして、 kubernetesクラスターを操作する…

  • calico.yamlに書かれていること

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 以前の記事kubenetesクラスターの構築(kubeadm) on Ubuntu Server 20.04.3 LTSでCNI(Container Networking Interface)としてCalicoを導入しました。 用意されているcalico.yamlを適用するだけなのですが、 何が書かれているんだろうと気になったので確認してみます。 calico.yaml calico.yamlは、 Calicoの本家サイトにある"https://docs.projectcalico.org/manifests…

  • kuernetes yamlファイルの書き方

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesを使う際に必要となるyamlファイルの書き方に関するメモです。 何となくこんな感じで書けばいいんだろうと、他の方が使っているファイルを真似ていますが、 「ルールってあるの?」と思ったので調べてみました。 yamlの例 公式サイトを見ると、 以下の例が載っています。 apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 kind: Deployment metadata: name: nginx-deploy…

  • "HTML5"から"HTML Living Standard"へ

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 少し前までHTML5と言われていたものが廃止され、 HTML Living Standardとなったことに関するメモです。 HTML5とは W3Cにより策定されたHTMLの仕様です。 https://www.w3.org/TR/2017/REC-html52-20171214/ 1990年頃に出来、 https://www.w3.org/People/Raggett/book4/ch02.html もう一つのHTML仕様を決める団体であるWHATWGから、 HTML4を改善してくれと要望があり、 2014年 …

  • Podが"Pending"のまま起動しない原因(kubernetes)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに KubernetesでPodが"Pending"のまま起動しない原因に関するメモです。 事象の発生 以下のように、Deployment(Pod)を含むをapplyします。 kubeuser@kubemaster1:~$ kubectl apply -f nginx.yaml deployment.apps/nginx created kubeuser@kubemaster1:~$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-6c67f5ff6f-…

  • "Terminating"のまま削除できないPodの強制削除(kubernetes)

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに KubernetesでPodが"Terminating"のまま、削除できない事象を回避するメモです。 事象の発生 以下のように、DeploymentとPodがあるので削除します。 kubeuser@kubemaster1:~$ kubectl get all NAME READY STATUS RESTARTS AGE pod/nginx-6c67f5ff6f-6hkw8 1/1 Running 0 2d17h pod/nginx-6c67f5ff6f-78kmz 1/1 Terminating 0 5d21…

  • kubernetesのデータベースetcdをバックアップする

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Kubernetesのデータベースであるetcdのバックアップです。 etcdはkubernetesに関する構成情報などを格納しているので冗長構成としますが、 さらに定期的なバックアップをして耐障害性を高めます。 データのありか etcdのデータ格納先ですが、etcd導入に使われたyamlファイルに記載されています。 具体的には、19行目にある" - --data-dir=/var/lib/etcd"です。 kubeuser@kubemaster1:~$ sudo cat -n /etc/kubern…

  • nginx unit-1.26.1 released.

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 nginx unit の最新バージョン、1.26.0がリリースされました。 http://nginx.org/ 更新内容は、以下の通り。 https://unit.nginx.org/CHANGES.txt Changes with Unit 1.26.1 02 Dec 2021 *) Bugfix: the router process crashed on reconfiguration if "access_log" was configured without listeners. *) Bugfix: occ…

  • Kubernetes API-Serverへkubectlではなく、curl(http api)でアクセスをする方法

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回は、Kubernetesでkubectlコマンドではなく、curl(http api)を使ってアクセスする方法の紹介です。 はじめに kubernetesでは、Pod(コンテナ)などの状態をkubectlコマンドで取得しますが、 クラスターの内部ではAPI-Serve経由で通信が行われています。 この代わりに、apiのURLを直接指定することで同様のことを実施することが可能です。 認証情報の準備 では、kubectlで情報を取得するときにはどこにある認証情報が使われているかというと、 kubectlを実行するユーザ…

  • HAProxyのアクセス状況をブラウザで可視化する

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 HAProxyでアクセス状況をブラウザで可視化するメモです。 HAProxyとは 高可用性(High Availavility)を実現するためのOSSのLoad Balancerです。 http://www.haproxy.org/ 設定例 frontend・・・フロントエンド設定 backend・・・バックエンド設定 listen stats・・・今回利用するアクセス状況を可視化する設定 pi@raspberrypi:~ $ cat /etc/haproxy/haproxy.cfg global log /dev/l…

  • kubenetesクラスターの構築(kubeadm) on Ubuntu Server 20.04.3 LTS

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 前回記事で作成したKVM環境上のVMにkubeadmでkubernetesクラスターを構築してみます。 今回構築する構成ですが、以下になります。 なお、kubernetes公式の構築ドキュメントは、以下です。 https://kubernetes.io/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ ここからはクラスターに参加する全ノードで実施します。 始める前に まず、インストール開始前の確認です。 swapが有効になっていたので…

  • virt-installでKVM上に仮想マシンをデプロイする

    LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 前回記事で作成したKVM環境上に virt-installコマンドで仮想マシンをデプロイするメモです。 https://www.opensourcetech.tokyo/entry/20211130/1638278505 OSイメージファイル(ISO)の取得 KVM(ホストOS)と同じ、"Ubuntu Server 20.04.3 LTS"を使います。 https://releases.ubuntu.com/20.04/?C=M;O=D ubuntu@ubuntu20:~$ wtget https://releases…

arrow_drop_down

ブログリーダー」を活用して、opensourcetechさんをフォローしませんか?

ハンドル名
opensourcetechさん
ブログタイトル
Opensourcetechブログ
フォロー
Opensourcetechブログ

にほんブログ村 カテゴリー一覧

商用