Skip to content

Commit 7454f35

Browse files
authored
Merge pull request #23495 from cyberblack28/#23442
Translate docs/tasks/administer-cluster/kubeadm/adding-windows-nodes/ into Japanese. #23442
2 parents e82a9e6 + 61fce1c commit 7454f35

File tree

1 file changed

+181
-0
lines changed

1 file changed

+181
-0
lines changed
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
---
2+
title: Windowsノードの追加
3+
min-kubernetes-server-version: 1.17
4+
content_type: tutorial
5+
weight: 30
6+
---
7+
8+
<!-- overview -->
9+
10+
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
11+
12+
Kubernetesを使用してLinuxノードとWindowsノードを混在させて実行できるため、Linuxで実行するPodとWindowsで実行するPodを混在させることができます。このページでは、Windowsノードをクラスターに登録する方法を示します。
13+
14+
15+
16+
17+
## {{% heading "prerequisites" %}}
18+
{{< version-check >}}
19+
20+
* WindowsコンテナをホストするWindowsノードを構成するには、[Windows Server 2019ライセンス](https://www.microsoft.com/en-us/cloud-platform/windows-server-pricing)(またはそれ以上)を取得します。
21+
VXLAN/オーバーレイネットワークを使用している場合は、[KB4489899](https://support.microsoft.com/help/4489899)もインストールされている必要があります。
22+
23+
* コントロールプレーンにアクセスできるLinuxベースのKubernetes kubeadmクラスター([kubeadmを使用したシングルコントロールプレーンクラスターの作成](/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)を参照)
24+
25+
26+
27+
28+
## {{% heading "objectives" %}}
29+
30+
31+
* Windowsノードをクラスターに登録する
32+
* LinuxとWindowsのPodとServiceが相互に通信できるようにネットワークを構成する
33+
34+
35+
36+
37+
<!-- lessoncontent -->
38+
39+
## はじめに: クラスターへのWindowsノードの追加
40+
41+
### ネットワーク構成
42+
43+
LinuxベースのKubernetesコントロールプレーンノードを取得したら、ネットワーキングソリューションを選択できます。このガイドでは、簡単にするためにVXLANモードでのFlannelの使用について説明します。
44+
45+
#### Flannel構成
46+
47+
1. FlannelのためにKubernetesコントロールプレーンを準備する
48+
49+
クラスター内のKubernetesコントロールプレーンでは、多少の準備が推奨されます。Flannelを使用する場合は、iptablesチェーンへのブリッジIPv4トラフィックを有効にすることをお勧めします。すべてのLinuxノードで次のコマンドを実行する必要があります:
50+
51+
```bash
52+
sudo sysctl net.bridge.bridge-nf-call-iptables=1
53+
```
54+
55+
1. Linux用のFlannelをダウンロードして構成する
56+
57+
最新のFlannelマニフェストをダウンロード:
58+
59+
```bash
60+
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
61+
```
62+
63+
VNIを4096、ポートを4789に設定するために、flannelマニフェストの`net-conf.json`セクションを変更します。次のようになります:
64+
65+
```json
66+
net-conf.json: |
67+
{
68+
"Network": "10.244.0.0/16",
69+
"Backend": {
70+
"Type": "vxlan",
71+
"VNI" : 4096,
72+
"Port": 4789
73+
}
74+
}
75+
```
76+
77+
{{< note >}}Linux上のFlannelがWindows上のFlannelと相互運用するには、VNIを4096およびポート4789に設定する必要があります。これらのフィールドの説明については、[VXLANドキュメント](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan)を参照してください。{{< /note >}}
78+
79+
{{< note >}}L2Bridge/Host-gatewayモードを使用するには、代わりに`Type`の値を`"host-gw"`に変更し、`VNI``Port`を省略します。{{< /note >}}
80+
81+
1. Flannelマニフェストを適用して検証する
82+
83+
Flannelの構成を適用しましょう:
84+
85+
```bash
86+
kubectl apply -f kube-flannel.yml
87+
```
88+
89+
数分後、Flannel Podネットワークがデプロイされていれば、すべてのPodが実行されていることがわかります。
90+
91+
```bash
92+
kubectl get pods -n kube-system
93+
```
94+
95+
出力結果には、実行中のLinux flannel DaemonSetが含まれているはずです:
96+
97+
```
98+
NAMESPACE NAME READY STATUS RESTARTS AGE
99+
...
100+
kube-system kube-flannel-ds-54954 1/1 Running 0 1m
101+
```
102+
103+
1. Windows Flannelとkube-proxy DaemonSetを追加する
104+
105+
これで、Windows互換バージョンのFlannelおよびkube-proxyを追加できます。
106+
互換性のあるバージョンのkube-proxyを確実に入手するには、イメージのタグを置換する必要があります。
107+
次の例は、Kubernetes{{< param "fullversion" >}}の使用方法を示していますが、
108+
独自のデプロイに合わせてバージョンを調整する必要があります。
109+
110+
```bash
111+
curl -L https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/kube-proxy.yml | sed 's/VERSION/{{< param "fullversion" >}}/g' | kubectl apply -f -
112+
kubectl apply -f https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/flannel-overlay.yml
113+
```
114+
{{< note >}}
115+
ホストゲートウェイを使用している場合は、代わりに https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/flannel-host-gw.yml を使用してください。
116+
{{< /note >}}
117+
118+
{{< note >}}
119+
Windowsノードでイーサネット(「Ethernet0 2」など)ではなく別のインターフェースを使用している場合は、次の行を変更する必要があります:
120+
121+
```powershell
122+
wins cli process run --path /k/flannel/setup.exe --args "--mode=overlay --interface=Ethernet"
123+
```
124+
125+
`flannel-host-gw.yml`または`flannel-overlay.yml`ファイルで、それに応じてインターフェースを指定します。
126+
127+
```bash
128+
#
129+
curl -L https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/flannel-overlay.yml | sed 's/Ethernet/Ethernet0 2/g' | kubectl apply -f -
130+
```
131+
{{< /note >}}
132+
133+
134+
135+
### Windowsワーカーノードの参加
136+
{{< note >}}
137+
`Containers`機能をインストールし、Dockerをインストールする必要があります。
138+
行うための指示としては、[Dockerエンジンのインストール - Windowsサーバー上のエンタープライズ](https://docs.mirantis.com/docker-enterprise/v3.1/dockeree-products/docker-engine-enterprise/dee-windows.html)を利用できます。
139+
{{< /note >}}
140+
141+
{{< note >}}
142+
Windowsセクションのすべてのコードスニペットは、
143+
Windowsワーカーノードの(管理者)権限を持つPowerShell環境で実行されます。
144+
{{< /note >}}
145+
146+
1. wins、kubelet、kubeadmをインストールします。
147+
148+
```PowerShell
149+
curl.exe -LO https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/PrepareNode.ps1
150+
.\PrepareNode.ps1 -KubernetesVersion {{< param "fullversion" >}}
151+
```
152+
153+
1. `kubeadm`を実行してノードに参加します
154+
155+
コントロールプレーンホストで`kubeadm init`を実行したときに提供されたコマンドを使用します。
156+
このコマンドがなくなった場合、またはトークンの有効期限が切れている場合は、`kubeadm token create --print-join-command`
157+
(コントロールプレーンホスト上で)を実行して新しいトークンを生成します。
158+
159+
160+
#### インストールの確認
161+
次のコマンドを実行して、クラスター内のWindowsノードを表示できるようになります:
162+
163+
```bash
164+
kubectl get nodes -o wide
165+
```
166+
167+
新しいノードが`NotReady`状態の場合は、flannelイメージがまだダウンロード中の可能性があります。
168+
`kube-system`名前空間のflannel Podを確認することで、以前と同様に進行状況を確認できます:
169+
170+
```shell
171+
kubectl -n kube-system get pods -l app=flannel
172+
```
173+
174+
flannel Podが実行されると、ノードは`Ready`状態になり、ワークロードを処理できるようになります。
175+
176+
177+
178+
## {{% heading "whatsnext" %}}
179+
180+
181+
- [Windows kubeadmノードのアップグレード](/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes)

0 commit comments

Comments
 (0)