一、前言
在文章《Kubernetes生产实践系列之二:在Kubernetes使用kubevirt运行管理Ubuntu/Windows桌面操作系统》中,我们部署来虚拟机并提供桌面来向Kubernetes的用户提供带桌面的运行环境,这种用受Kubernetets管理虚拟机来部署桌面的方式一方面对于Kubernetets节点的虚拟化提出要去,另外方面,也是比较重的解决方案。本文介绍通过容器运行Ubuntu Desktop并通过Kubernetets进行部署提供桌面运行环境的方案。
转载自https://blog.youkuaiyun.com/cloudvtech
二、获取代码
获取带桌面的ubuntu docker镜像代码
git clone https://github.com/fcwu/docker-ubuntu-vnc-desktop.git
cd docker-ubuntu-vnc-desktop-master/
获取依赖软件
wget https://github.com/krallin/tini/releases/download/v0.18.0/tini
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz
获取noVNC和websockify
cd web/static
git clone https://github.com/novnc/noVNC.git
git clone https://github.com/novnc/websockify.git
转载自https://blog.youkuaiyun.com/cloudvtech
三、构建镜像并运行docker
3.1 修正Dockerfile
################################################################################
# base system
################################################################################
FROM ubuntu:16.04
#ARG localbuild
#RUN echo "LOCALBUILD=$localbuild"
#RUN rm -rf /var/lib/apt/lists/partial
#RUN if [ "x$localbuild" != "x" ]; then sed -i 's#http://archive.ubuntu.com/#http://tw.archive.ubuntu.com/#' /etc/apt/sources.list; fi
RUN \
sh -c "echo 'deb http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04/ /' >> /etc/apt/sources.list.d/arc-theme.list"
# && add-apt-repository ppa:fcwu-tw/apps x11vnc
# built-in packages
RUN apt-get update \
&& apt-get install -y --no-install-recommends apt-utils software-properties-common curl apache2-utils \
&& apt-get update \
&& apt-get install -y --no-install-recommends --allow-unauthenticated \
supervisor nginx sudo vim-tiny net-tools zenity xz-utils \
dbus-x11 x11-utils alsa-utils \
mesa-utils libgl1-mesa-dri \
lxde xvfb x11vnc \
gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf gtk2-engines-murrine arc-theme \
&nbs

本文介绍如何利用容器技术在Kubernetes环境中部署轻量级的Ubuntu桌面环境,通过构建定制化的Docker镜像并结合Kubernetes的Deployment和Service资源,实现可伸缩的桌面即服务解决方案。
最低0.47元/天 解锁文章
4127

被折叠的 条评论
为什么被折叠?



