minikubeでのNodePortへのアクセスして、ブラウザで確認するまで minikub kubernetes
minikubeでのNodePortへのアクセスして、ブラウザで確認するまで
ちなみに環境はwindows
minikubeでは minikube service コマンドにService名を渡すとNodePortで公開されているServiceのURLを組み立てて表示してくれる
kubernetes の podつくってそれに serviceつくって、ブラウザからアクセスできるようにする
Minikubeの場合にはminikube service --url <サービス名>というコマンドを使って直接確認することも
できる。
1 podをつくる
$cat pod1.yaml
--------------------------------
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: my-app
spec:
containers:
- name: my-container
image: httpd
ports:
- containerPort: 80
--------------------------------
実行
$ kubectl apply -f pod1.yaml
2 serviceをつくる
$ cat service1.yaml
--------------------------------
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
ports:
- nodePort: 30000
port: 8080
targetPort: 80
protocol: TCP
selector:
app: my-app
--------------------------------
実行
$ kubectl apply -f service1.yaml
3 minikube service 「サービス名」--url で urlを発行する
すると画面に、urlが表示される。
ちなみに サービス名は以下で事前に確認
$ kubectl get service
4 3のurlにブラウザからアクセスする
おしまい
★おまけ --urlをつけないとminikubeからservice経路経路を表示してくれる
> minikube service my-service
|-----------|------------|-------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------------|-------------|---------------------------|
| default | my-service | 8080 | http://192.168.49.2:30000 |
|-----------|------------|-------------|---------------------------|
🏃 my-service サービス用のトンネルを起動しています。
|-----------|------------|-------------|------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------------|-------------|------------------------|
| default | my-service | | http://127.0.0.1:54062 |
|-----------|------------|-------------|------------------------|
🎉 デフォルトブラウザーで default/my-service サービスを開いています...
★おまけ2
自分で作成したhtmlファイルを表示したい場合は、pod内部へファイルをコピーする
> kubectl cp ./test1.html my-pod:/usr/local/apache2/htdocs/