hylom'sWeblog

- hylom's blog
| about hylom / hylom.net | old contents | login

Fedora28で自前Kubernetesクラスタを作るメモ

posted on 2018/05/11 19:48:58

 とりあえず基本的な流れは以前さくらのナレッジに書いたものと同じ。ただし、クラスタノードのkubelet設定ファイル(/etc/kubernetes/kubelet)の「KUBELET_ARGS」に次のように「--kubeconfig」および「--require-kubeconfig」パラメータを追加した上で、kubelet.ymlファイルを用意する必要がある。

KUBELET_ARGS="--cgroup-driver=systemd --fail-swap-on=false --kubeconfig=/etc/kubernetes/kubelet.yml --require-kubeconfig"

 kubelet.ymlファイルはこんな感じ。

kind: Config
clusters:
- name: local
  cluster:
    server: http://<api-serverのホスト名かIPアドレス>:8080
users:
- name: kubelet
contexts:
- context:
    cluster: local
    user: kubelet
  name: kubelet-context
current-context: kubelet-context

 --api_servers(--api-servers)オプションは廃止されているので、このように設定ファイルでapi-serverのURLを指定しなければならない模様(https://github.com/kubernetes/website/issues/7417)。

(追記@2018-05-15)

 kube-proxyにはiptables 1.6.2と組み合わせて使うとiptablesルールを適切に設定できないという不具合がある。Fedora 28のiptablesは1.6.2なので、これに引っかかる。Fedora 28のKubernetesパッケージに含まれているkubeletでは現時点でこれが修正されていない。とりあえずFedora 27用のiptables 1.6.1に置き換えることで問題は回避できそう。

$ wget https://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/x86_64/os/Packages/i/iptables-1.6.1-4.fc27.x86_64.rpm
$ wget https://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/x86_64/os/Packages/i/iptables-libs-1.6.1-4.fc27.x86_64.rpm
# dnf install iptables-*.rpm

Fedora 25のhttpd(Apache HTTP Server)でLet's Encryptを使う

posted on 2017/02/10 20:22:39

 Fedora 25では、httpdをインストールするとデフォルトで自己署名証明書を作成してSSLを有効にする設定になっている模様。そのため、certbotコマンドでLet's Encryptで証明書を取得しようとすると失敗するようだ。

# dnf install certbot
# certbot --apche
(...ここで設定を入力する)
Failed authorization procedure. test.hylom.net (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Failed to connect to <IPアドレス>:443 for TLS-SNI-01 challenge

 対策としては、まず/etc/httpd/conf.d/ssl.confをssl.conf.orgなどにリネーム後にhttpdを再起動してSSLをいったん無効にした後、certbotコマンドを実行すれば良い。