設定ファイル@K3D¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
apiVersion¶
apiVersion: k3d.io/v1alpha5
kind¶
kind: Simple
metadata¶
metadata:
name: foo-cluster
servers¶
servers: 1
agents¶
agents: 2
kubeAPI¶
kubeAPI:
host: example.com
hostIP: 127.0.0.1
hostPort: "6445"
image¶
image: "rancher/k3s:v1.20.4-k3s1"
network¶
network: foo-network
subnet¶
subnet: 172.28.0.0/16
token¶
token: superSecretToken
volumes¶
volumes:
- volume: "/foo/path:/path/node"
nodeFilters:
- "server:0"
- "agent:*"
ports¶
ports:
- port: "8080:80"
nodeFilters:
- loadbalancer
env¶
env:
- envVar: foo=foo
nodeFilters:
- "server:0"
registries¶
create¶
registries:
create:
name: registry.localhost
host: 0.0.0.0
hostPort: "5000"
proxy:
remoteURL: "https://registry-1.docker.io"
username: ""
password: ""
volumes:
- "/some/path:/var/lib/registry"
use¶
registries:
use:
- "foo-registries:5000"
config¶
▼ configとは¶
registries:
config: |
...
▼ mirrors¶
Node内でイメージプルが起こる時に、デフォルトのイメージレジストリ (例:DockerHub) ではなく、代わりにミラーリングレジストリからプルするように変更する。
registries:
config: |
mirrors:
<AWSアカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com:
endpoint:
- "https://<AWSアカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com"
▼ config¶
プライベートリポジトリからイメージをプルする場合に、これの認証情報を設定する。
registries:
config: |
config:
<AWSアカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com:
auth:
username: AWS
# aws ecr get-login-password --region ap-northeast-1コマンドから取得したパスワード
password: <パスワード>
# イメージレジストリとの通信がHTTPSの場合は、SSL証明書が必要になる
tls:
ca_file: <証明書>
cert_file: <証明書>
key_file: <証明書>
HTTPSの検証をスキップすることもできる
registries:
config: |
config:
<AWSアカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com:
auth:
username: AWS
# aws ecr get-login-password --region ap-northeast-1コマンドから取得したパスワード
password: <パスワード>
tls:
insecure_skip_verify: true
hostAliases¶
hostAliases:
- ip: 1.2.3.4
hostnames:
- foo.example.com
- bar.example.com
- ip: 1.1.1.1
hostnames:
- cloud.flare.dns
options¶
options:
k3d:
wait: true
timeout: 60s
disableLoadbalancer: false
disableImageVolume: false
disableRollback: false
loadbalancer:
configOverrides:
- settings.workerConnections=2048
k3s:
extraArgs:
- arg: "--tls-san=foo.host.domain"
nodeFilters:
- "server:*"
nodeLabels:
- label: foo=foo
nodeFilters:
- "agent:1"
kubeconfig:
updateDefaultKubeconfig: true
switchCurrentContext: true
runtime:
gpuRequest: all
labels:
- label: foo=foo
nodeFilters:
- "agent:1"
ulimits:
- name: nofile
soft: 26677
hard: 26677