版权声明:本文为博主原创文章,未经博主允许不得转载。
1、下载kube-UI镜像
先下载到Kube环境的docker镜像仓库中:该镜像的国内下载地址docker pull index.alauda.cn/googlecontainer/kube-ui:v5
通过docker tag修改镜像名称 docker tag index.alauda.cn/googlecontainer/kube-ui:v5 index.alauda.cn/googlecontainer/kube-ui:v5
2、创建命名空间
vi namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: kube-system
create -f namespace.yaml
3、创建RC
vi kube-ui-rc.yaml
//粘贴如下内容
apiVersion: v1
kind: ReplicationController
metadata:
name: kube-ui-v5
namespace: kube-system
labels:
k8s-app: kube-ui
version: v5
kubernetes.io/cluster-service: "true"
spec:
replicas: 1
selector:
k8s-app: kube-ui
version: v5
template:
metadata:
labels:
k8s-app: kube-ui
version: v5
kubernetes.io/cluster-service: "true"
spec:
containers:
- name: kube-ui
image: "gcr.io/google_containers/kube-ui:v5"
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 20m
memory: 50Mi
requests:
cpu: 20m
memory: 50Mi
ports:
- containerPort: 8080
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 30
timeoutSeconds: 5
create -f kube-ui-rc.yaml
4、创建service
vi kube-ui-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: kube-ui
namespace: kube-system
labels:
k8s-app: kube-ui
kubernetes.io/cluster-service: "true"
kubernetes.io/name: "KubeUI"
spec:
selector:
k8s-app: kube-ui
ports:
- port: 80
targetPort: 8080
<pre name="code" class="html" style="font-size: 14px; line-height: 26px;">create -f kube-ui-svc.yaml
5、查看Service
# kubectl describe service kube-ui --namespace=kube-system
Name: kube-ui
Namespace: kube-system
Labels: k8s-app=kube-ui
kubernetes.io/cluster-service=true
kubernetes.io/name=KubeUI
Selector: k8s-app=kube-ui
Type: ClusterIP
IP: 100.72.71.245
Port: <unset> 80/TCP
Endpoints: 10.32.0.3:8080
Session Affinity: None
6、访问Kube-UI
从上面的service信息中可以看到,kube为该服务分配了虚拟IP 100.72.71.245,并且可以通过端口80访问。
好的,问题来了,kube是部署在PC的虚拟机中的,PC的IP以及虚拟机的IP都是192.0.0.0/24网段内的,在虚拟机中可以ping通上述IP,且通过curl 100.72.71.245:80 命令可以获取到页面html,但是在PC中无法通过浏览器打开这个地址。
这个问题可以通过在PC中增加一条到100.72.71.245的路由来解决,路由添加示例如下所示:
route add 100.72.71.245 192.168.170.132 //其中192.168.170.132是虚拟机的IP地址,
执行该命令后,在PC的浏览器中访问http://100.72.71.245:80就可以正常访问了。