概要
- k8sテスト環境構築
Localtunnel インストール
Localtunnel
を利用し、ローカル環境を外部公開する
ngrok
を使っても良い
構築目次
環境
- Rancher: v2.6.3
- kubernetes(Client): v1.22.4
- kubernetes(Server): v1.22.4
- Localtunnel: v2.0.2
前提条件
- MetalLB インストール済み
[MetalLB インストール] (https://qiita.com/prodigy413/items/3a24ff85819dc5eafe25)
インストール
- 作業場所: ClientPC
- Localtunnel Install Page
https://github.com/localtunnel/localtunnel
Localtunnel インストール
npmを利用するが、コマンドがない場合はsudo apt install npm
でインストール
## インストール
$ sudo npm install -g localtunnel
## バージョン確認
$ lt --version
2.0.2
動作確認
- PodとService作成
-
Service
のtype
はLoadBalancer
- 本環境では
LoadBalancer
としてMetalLB
を利用
※インストールはここ参照
test-nginx.yaml
---
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
selector:
app: nginx
type: LoadBalancer
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
---
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21.4
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
- manifest適用
$ kubectl apply -f test-nginx.yaml
- Localtunnel 実行
## LB IP(EXTERNAL-IP)を確認
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
..........
nginx-svc LoadBalancer 10.43.98.164 192.168.245.113 80:31486/TCP 8s
..........
## Manifestで設定したポートとIPを指定してLocaltunnel実行
## urlを確認
$ lt --port 80 --local-host 192.168.245.113
your url is: https://fat-dragonfly-30.loca.lt
- Access 確認
## 上記のurlでアクセス確認
$ curl -I https://fat-dragonfly-30.loca.lt
HTTP/2 200
..........