Foreverly

メモ帳

Service Discovery for Microservices with Kubernetes

302-app-discovery Service Discovery for Microservices with Kubernetes ハードコードされたIPアドレスを使用するのではなく、 アプリケーション内のさまざまなマイクロサービスがサービス検出を使用してインフラストラクチャ内で互いにどのように位置付け…

k8sクラスタのアップグレード

203-cluster-upgrades Kubernetesクラスタのアップグレード AWS上のKubernetesクラスタのアップグレードは、kopsで簡単にできます。 今回Kubernetesクラスターを2つの方法でアップグレードする方法を試します。 インプレースアップグレード Kopsを使用すると…

シェルスクリプトでのリトライ処理とロック処理

サーバ運用で手動でApache再起動のような対応は辛いので アラートを検知したら自動でApache再起動を実施し、 メールで知らせてくれるスクリプトを書きたいと思い、 リトライ処理やロック処理をシェルスクリプトでどうやるか調べたのでまとめます。 リトライ…

Linuxサーバをセキュアな環境にする

Linuxサーバでセキュアな設定についてまとめてみました。 OSはCentOS6なので古いですが。。 Wordpress周りはまだ調べられてないので どこかでまとめたい。 アドレススキャン対策 ブロードキャスト宛のICMP Echo Requestに対して回答しない vim /etc/sysctl.c…

pythonでしたいと思ったことまとめ①

print()でカンマ区切りで表示したい print(a, b, c, sep=',') 行末の改行を削除したい string.rstrip() 文字列の末尾部分を除去したコピーを返す。引数 chars は除去される文字集合を指定する文字列。 特定の文字を除去したい 文字列.replace() メソッドを利…

AWS Summit Tokyo 2018の聴いたセッションのメモ

AWS

聞いたセッションのメモ セッションだけ聞くなら会場ではなくストリーミング配信をみるのが快適ということに気がついてしまった。 オペレーションの最適化 ベストプラクティスに基づく準備 適切なモニタリング 適切な運用 Well-Architected framework 課題 A…

# 202-service-mesh

Istioも0.8がリリースされたので、Istioの公式ドキュメントからサンプルアプリケーションを動かしたほうがよいです。 それでは続きをしていきます。 Service Mesh integration with Kubernetes Service MeshコンポーネントをKubernetesクラスタに統合する方…

リソースグラフの見方

cactiとgrafanaのグラフの見方について調べました。 cactiグラフの見方 まずグラフを見るときは長いスパンでの確認と単位に気を付けること サーバステータス・OS系 CPU Utilization コアごとにCPU使用率を表示させる Context Switches サーバ側がカウンタな…

# iptablesについて

iptablesについてまとめてみました。 設定ミスすると思わぬサービス影響が出るのでちゃんと理解したいところです。 オプション オプション 意味 -N 新規チェインの追加 -X ユーザチェインの削除 -A ルールの追加 -D ルールの削除 -L チェインにあるルールの…

今度こそMySQLを覚えたい人のためのMySQL5.6入門

最近、今度こそMySQLを覚えたい!!と思いました。 では今からMySQL覚えるなら何から始めるのが良いでしょうか。MySQLは5.7や8も出てきました。 今回は日本語のドキュメントがある唯一のバージョンの5.6系をCentOS6にインストールします。 MySQL 5.6 リファレ…

# シェルスクリプトで使える if,test,for,case,set,readコマンド

シェルスクリプトで使えるコマンドをまとめました。 最後に簡単なシェルスクリプトを実際に書いてみます。 if if文は条件が真の時、偽の時で処理をわけることができます。 if文の文法 if 条件; then 条件が真の時の処理 else 条件が偽である時の処理 fi if~e…

aws-workshop-for-kubernetes(201-cluster-monitoring)

前回の続きから 201-cluster-monitoring Kubernetes Cluster Monitoring Introduction 今回、以下を使用してKubernetesクラスタを監視していきます。 Kubernetesダッシュボード Heapster、InfluxDB、Grafana Prometheus, Node exporter、Grafana Prometheus…

aws-workshop-for-kubernetes(101〜103)

101-start-here Kubernetes - Cloud9開発環境の設定 aws-workshop-for-kubernetesの101-start-here Cloud9を使うためにバージニアリージョンを選び、CloudFormationで既存のVPCを選び サブネットを選択して、次へを押せば、 k8s-workshopというスタックがで…

minikubeでWordPress環境を構築

こちらKubernetes ハンズオンをやりました。 適宜コマンドや説明を修正、補足した作業メモです。 ゴール VirtualBox環境の1VM上にk8s環境をつくりwordpressを構築していきます。 事前知識 Pod Podはk8sでアプリケーションを動かす最小単位のリソースです。 …

# KVM仮想化ホストサーバ間でのゲストサーバ移動

KVM仮想化環境でゲストイメージを別のホストサーバに移動させたので、 手順をまとめておきます。 ゲストサーバの起動状況確認 virsh list --all などで対象のゲストサーバが存在するか確認しましょう。 またイメージファイルや転送先のホストのディスク容量…

JAPAN CONTAINER DAYS V18.04に行ってきた

https://medium.com/@yukotan/japan-container-days-v18-04-%E3%81%AE%E8%B3%87%E6%96%99-4f380fb7b696 サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術 https://speakerdeck.com/masayaaoyama/saibaezientoniokerupuraibetokontenaji…

macからvagrantへrake spec実行ユーザ変更

macのユーザでSSH接続しようとするので、vagrant ユーザに変えたかった。 documentには以下のように記載があった。 Serverspec with SSH backend logs in to target servers as a user configured in ~/.ssh/config or a current user. If you’d like to cha…

"msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n"の対応

環境 コントローラー:Mac ターゲット:CentOS6.9(vagrant) ansible -i inventory/inventory.ini playbook -m ping pingで疎通確認をしたところ以下のメッセージが出た。 SSH接続失敗しているようだった。 "msg": "Failed to connect to the host via ssh: Per…

ReactでHello World!

Node.jsのインストール Homebrewでインストール brew -v brew update brew install nodejs node -v インストール用プロジェクトの作成 JSのプログラムをプロジェクト単位で管理。 npm init -y でパッケージの管理ファイル(package.json)を作成する。 mkdir h…

Pythonのクラスの基本

クラスの基本 クラスの書式 class クラス名: メソッドや属性 メソッド クラス内の関数をメソッドと呼ぶ。 メソッドにはクラスに関連する処理を記述。 属性 クラス内のデータを属性と呼ぶ。 属性はクラスのインスタンスごとのデータを持つ。 self.hoge のよう…

吉祥寺.pm13に参加してきました

こちらの勉強会で発表してきました。 吉祥寺.pm13 - connpass 吉祥寺.pmだけど今回は西新宿。 テーマが「新しい挑戦、新しい視点」だったので、新年度に向けた決意的な感じで発表してきました。 2018年の抱負は「ちゃんと調べて、ちゃんと理解する」で行こう…

Python Programming for Web Architectures

タイトルをかっこよくしてみた。 最近PyQなるものを初めてPythonの書き方を覚えているのですが、 様々なライブラリがあることを知り、簡単なTCPサーバが書けることを知りました。 普段はWebサービスのサーバ管理をしていますが、 TCP/IPの通信をクライアント…

Python入門者の集い #6 に参加してきました

突然ですが、煽られたのでこちらの勉強会にLTしてきました。 python-nyumon.connpass.com 発表したもの 最近PyQやっているので、PyQの紹介とPythonでライブラリ使ってLinuxと仲良くなりたい話をしました。 ファイルディスクリプタのところは自分でもスライド…

Apache Usedslotの見方

Apache Usedslotの見方をまとめてみた 稼働状況の表示(ステータス情報表示) 稼働中のプロセス数,待機中のプロセス数および各プロセスのステータス(R,W,Lなど)をWebブラウザに表示 この情報を基に,StartServers,MinSpareServers,MaxSpareServers,M…

スケーラビリティの技術の基礎

サーバやアプリをクラウドに置くと安いし便利ってだけではなく、 クラウドで実現可能なことは全世界に展開するような WEBスケーラブルなシステムが作れることが可能になったこと。 技術的には大変だけど... 全世界に展開するようなWEBシステムに携わるかはわ…

REST(Representational State Transfer)

REST(Representational State Transfer) Webシステムアーキテクチャの原則を定義したもの 原則 Client-server Stateless Cacheable Uniform interface Layered system Code-on-demand(optional) こういう考え方にしたがって作ろうよっていうもの Webシステム…

シェルスクリプト②(declare,配列,連想配列)

declareでの変数宣言 オプションをつけることで、変数に属性を付与できる オプション 意味 -r 変数を読み取り専用 -i 変数を整数とする -a 変数を配列とする -A 変数を連想配列とする 指定しない場合は、型は文字列になる 読み取り専用ならreadonlyコマンド…

Apache2.2の設定

前回のCentOS6.7の設定続き! 久しぶりにやったので、CentOS6.9でやりました... ipもよしなにお願いします。 2017年にApache2.2で申し訳ない Apache2.2の設定 CentOS6系の設定を想定なのでApache2.2です。(古いね) 以下内容 VirtualHostの設定をしてドメイン…

シェルスクリプト①

シェルスクリプトまとめ 一行目のおまじない 1行目にシェバンと呼ぶ、bashで動作しますよというおまじないがある。 #!/bin/bash 変数 変数宣言では空白文字列は入れてはだめ 変数=値 declareで宣言していない場合は値は文字列とされる。 値にスペースやタブ…

データベース①

データベースについて必要なキーワードをまとめていきます。 トランザクションと同時実行制御 トランザクションについて 複数のクエリをひとまとまりにした処理で、commit時に処理を確定する ACID 特性について、各頭文字それぞれ Atomicity(原子性) データ…