环境:
root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86# kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master Ready control-plane,master 8h v1.23.4 192.168.1.101 <none> Ubuntu 20.04.4 LTS 5.4.0-104-generic docker://20.10.7
k8s-node1 Ready <none> 7h32m v1.23.4 192.168.1.102 <none> Ubuntu 20.04.4 LTS 5.4.0-104-generic docker://20.10.7
k8s-node2 Ready <none> 5h55m v1.23.4 192.168.1.103 <none> Ubuntu 20.04.4 LTS 5.4.0-104-generic docker://20.10.7
root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86#
1 准备yaml文件:
文件 android-service-x86.yaml内容:
apiVersion: v1
kind: Namespace
metadata:
name: selenium
labels:
name: selenium
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: android
namespace: selenium
labels:
app: selenium
environment: stg
role: qa
service: selenium
spec:
replicas: 1
selector:
matchLabels:
app: android
template:
metadata:
labels:
app: android
spec:
containers:
- name: android
image: butomo1989/docker-android-x86-7.1.1
resources:
limits:
memory: "2048Mi"
cpu: "500m"
securityContext:
privileged: true
ports:
- containerPort: 6080
name: port1
- containerPort: 4723
name: port2
- containerPort: 5554
name: port3
- containerPort: 5555
name: port4
- containerPort: 5037
name: port5
env:
- name: DEVICE
value: "Nexus 5"
- name: APPIUM
value: "true"
- name: CONNECT_TO_GRID
value: " true"
- name: APPIUM_HOST
value: "android.selenium"
- name: APPIUM_PORT
value: "4723"
- name: SELENIUM_HOST
value: "selenium-selenium-hub.selenium"
- name: SELENIUM_PORT
value: "4444"
---
apiVersion: v1
kind: Service
metadata:
name: android-service
namespace: selenium
spec:
ports:
- port: 6080
name: serving
protocol: TCP
- port: 5555
name: srv
protocol: TCP
- port: 5554
name: srv2
protocol: TCP
- port: 4723
name: novnc
protocol: TCP
selector:
app: android
type: LoadBalancer
loadBalancerIP: "192.168.1.103"
2 创建android实例:
root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86# kubectl apply -f android-service-x86.yaml
root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86#
root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86# kubectl get deploy,pods,svc -n selenium
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/android 1/1 1 1 29m
NAME READY STATUS RESTARTS AGE
pod/android-77f9db8b8-zk8qd 1/1 Running 0 29m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/android-service LoadBalancer 10.10.92.89 <pending> 6080:30493/TCP,5555:31345/TCP,5554:30332/TCP,4723:32692/TCP 19m
root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86#
通过adb连接android实例
root@android-77f9db8b8-zk8qd:~# adb connect 192.168.1.103:30332
failed to connect to 192.168.1.103:30332
root@android-77f9db8b8-zk8qd:~# adb devices
List of devices attached
192.168.1.103:30332 online
root@android-77f9db8b8-zk8qd:~#