k8sにCentOS7のPodを作成する

はじめに

前回の記事に引き続きk8s上でVMの様に扱えるCentOSイメージのみのPodを作成したいと思います。構築手順も記述しておりますのであしからず。

Podとは

Podは、1つ以上のアプリケーションコンテナのグループとそれらのコンテナの共有リソースを表すものです。例えば次のようなものがあります。

  • 共有ストレージ(ボリューム)
  • ネットワーキング(クラスターに固有のIPアドレス)
  • コンテナのイメージバージョンや使用するポートなどの、各コンテナをどう動かすかに関する情報

今回はCentOS7コンテナのみのPodを作ってみたいと思います。

マニフェスト作成

k8sの構成管理を行うテキストファイルのことをマニフェストと呼びます。Ansibleで言うプレイブック、docker-composeで言うところのdocker-compose.ymlです。

apiVersion: v1
kind: Pod
metadata:
  name: centos7
spec:
  restartPolicy: OnFailure
  containers:
    - name: centos7
      image: centos:7
      command:
        - "/sbin/init"

マニフェストを元にPodを作成します。STATUSがRunningになっていれば成功です。

# kubectl create -f centos-deployment.yml
# kubectl get pod
NAME      READY   STATUS    RESTARTS   AGE
centos7   1/1     Running   0          46s

ポート開放してから実際にコンテナに入り操作してみます。

  • ワーカーノード
    • 10250/TCP
# kubectl exec -it centos7 /bin/bash
# yum -y update

コンテナに入ることは出来ても、名前解決に失敗しyumコマンドが通らないかと思います。なので外部DNSサーバをワーカーノードのものと同じIPアドレスにしてしまいます。本当はルーティングするのですが手間なのでやりません。

# vi /etc/resolv.conf
nameserver 【ワーカーノードからコピペ】

これで外部に抜けられるはずです。以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA