Kubernetes を CentOS 7 で とりあえず始めてみるには
Kubernetes をインストール して、pod を生成し、
とりあえずコンテナを動作させるまでの手順 ( CentOS7.3 )
一旦 Kubernetes を動かしてから、勉強を始める人 用です。
( 動作環境 )
VirtualBox 5.1
仮想OS - CentOS 7.3
( ゴール )
nginx コンテナ の 起動確認
- - -
! 注意点 !
# で始めるコマンド文は、root権限 で実行
$ で始めるコマンド文は、ユーザー権限 で実行
このユーザーは、 kubectl など Kubernetes関連のコマンドが一通り問題なく使える状態にしておいてください。
- -
1. Kubernetes の 構成を知る。
ref.
2. マスターを作成する。
ref.
3. ノード を作成する。
ref.
で これだけだとつまずく、 pull できないエラー。
CentOS7 の環境によっては、nginx を pull できません。
podを作って、ContainerCreating のまま進まず、以下のようなエラーが。
Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be because there are no credentials on this request. details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)"
っていうリンクはあるが、実体はない。
Root証明書の取得
ref. Redhat 公式
lrwxrwxrwx. 1 root root 27 12月 7 23:52 /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt -> /etc/rhsm/ca/redhat-uep.pem
-> Root証明書( redhat-uep.pem )が格納されたことを確認
$ mkdir k8sYaml
$ cd k8sYaml
$ touch test-nginx.yaml
$ vi test-nginx.yaml
○ yaml ファイルを作る
ref.
- - - 以下1行目から - - -
apiVersion: v1kind: Podmetadata:name: nginx-pod-testspec:containers:- name: nginx-containerimage: docker.io/nginx- containerPort: 80
- - - 以上 - - -
○ 上記ファイルを使って、pod / コンテナ を生成
$ kubectl create -f test-nginx.yaml
pod "nginx-pod-test" created
○ pod の動作状況確認
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-pod-test 1/1 Running 0 9m
-> READY 1/1 となり、動作している模様
○ 動作している IPアドレスの確認
$ kubectl describe pod nginx-pod-test | grep IP:
IP: 172.17.38.2
( 今回の生成したコンテナが、 172.17.38.2 だった一例 )
○ nginx の動作確認
1. ping が通ります。
$ ping 172.17.38.2
64 bytes from 172.17.38.2: icmp_seq=1 ttl=64 time=0.087 ms
64 bytes from 172.17.38.2: icmp_seq=1 ttl=64 time=0.089 ms
2. curl コマンドで、 "Welcome to nginx!" と返ってくるのか確認
"Welcome to nginx!"
など HTML文 一式が 返ってくれば、OK です。
もっとKubernetesが簡単に使えるようになるといいな( ˘ω˘ )
- - -
#k8s #Kubernetes #centos7 #Root証明書 #docker