Skip to Content
ネットワークとKubernetes
book

ネットワークとKubernetes

by James Strong, Vallery Lancey
March 2025
Intermediate to advanced
340 pages
6h 8m
Japanese
O'Reilly Media, Inc.
Book available
Content preview from ネットワークとKubernetes

第2章 Linuxネットワーク Linuxネットワーキング

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

Kubernetesにおけるネットワーキングの実装を理解するためには、Linuxにおけるネットワーキングの基礎を理解する必要がある。結局のところ、KubernetesはLinux(またはWindows!)マシンのための複雑な管理ツールであり、Kubernetesネットワークスタックで作業している間、これを無視することは難しい。この章では、Kubernetesで注目すべき分野に焦点を当てながら、Linuxネットワークスタックの概要を説明する。Linuxのネットワーキングとネットワーク管理に精通しているのであれば、この章は読み飛ばすか、読み飛ばしてもよいだろう。

チップ

この章()では、多くのLinuxプログラムを紹介している。man <program> でアクセスできるマニュアル(man)ページには、より詳細な情報が掲載されている。

基本

第1章で使った Goウェブサーバをもう一度見てみよう。このウェブサーバはポート8080でリッスンし、/へのHTTPリクエストに対して "Hello "を返す(例2-1参照)。

例2-1. Goによる最小ウェブサーバ
package main

import (
	"fmt"
	"net/http"
)

func hello(w http.ResponseWriter, _ *http.Request) {
	fmt.Fprintf(w, "Hello")
}

func main() {
	http.HandleFunc("/", hello)
	http.ListenAndServe("0.0.0.0:8080", nil)
}
警告

ポート1〜1023(ウェルノウンポートとも呼ばれる)は、バインドするのにroot権限が必要である。

つまり、典型的なウェブ・サービスは、ルート・ユーザとして実行されるべきではない。このため、多くのプログラミングは1024番ポート以上でリッスンすることになる(特にHTTPサービスでは8080番ポートがよく使われる)。可能であれば、非特権ポートでリッスンし、インフラ・リダイレクト(ロードバランサ転送、Kubernetesサービスなど)を使って、外部から見える特権ポートを非特権ポートでリッスンしているプログラムに転送する。

こうすることで、あなたのサービスの脆弱性を悪用する攻撃者が、過度に広範なパーミッションを利用できなくなる。

このプログラムがLinuxサーバーマシンで実行されていて、外部クライアントが/ にリクエストを出したとする。 サーバーでは何が起こるか? まず始めに、このプログラムはアドレスとポートをリッスンする必要がある。 このプログラムはそのアドレスとポートに対応するソケットを作成し、それにバインドする。 このソケットは、指定されたアドレスとポート(ここでは任意のIPアドレスで8080 )の両方宛てのリクエストを受け取る。

0.0.0.0 IPv4の 、IPv6の 、ワイルドカードアドレスである。それぞれのプロトコルのすべてのアドレスにマッチするため、ソケットバインディングに使用すると、利用可能なすべてのIPアドレスをリッスンする。[::]

これは、サービスを実行するマシンのIPアドレスを事前に知ることなく、サービスを公開するのに便利である。 ほとんどのネットワーク公開サービスは、この方法でバインドする。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

クラウドアプリケーションアーキテクチャパターン

クラウドアプリケーションアーキテクチャパターン

Kyle Brown, Bobby Woolf, Joseph Yoder
gRPC:アップ・アンド・ランニング

gRPC:アップ・アンド・ランニング

Kasun Indrasiri, Danesh Kuruppu

Publisher Resources

ISBN: 9798341624627Supplemental Content