我是靠谱客的博主 复杂彩虹,最近开发中收集的这篇文章主要介绍打造好用的Docker Desktop、WSL Ubuntu系统背景WSL Ubuntu初始化工作Docker desktop集成与便利化工作其他参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景

本地开发环境(Windows机器)运行K8S,当然选择wsl和docker desktop。但是网上相关的方法太多,而且docker desktop安装可能遇到一些异常,导致在安装相关环境时走了一些弯路。
本文不会介绍如何安装wsl、ubuntu和docker desktop,仅描述安装这些软件后应当以何种最优的方式进行配置,使之更有利于平时使用。

WSL Ubuntu初始化工作

wsl中安装了Ubuntu之后,您可能需要立即进行如下配置:

  • 将其从c盘移到其他逻辑盘中(参考https://www.cnblogs.com/hepengju/p/15839745.html)
  • 更改apt源(参考下文)
  • 配置systemd(参考下文)

apt源更改为国内源

CODENAME=$(cat /etc/apt/sources.list | grep " main " | head -1 | awk -F ' main ' '{print $1}' | awk '{print $NF}')
mv /etc/apt/sources.list /etc/apt/sources.list.bak
cat << __EOF__ > /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-backports main restricted universe multiverse
__EOF__
apt update -y
apt upgrade -y

systemd

参考https://blog.csdn.net/pleong/article/details/124964195的描述,这个方法比官方介绍的更简单,而且官方介绍的方法需要注意以下两点:

  1. sudo vi /usr/sbin/enter-systemd-namespace这个章节中提供的脚本有误,第10行/usr/sbin/daemonize应该进行修改成/usr/bin/daemonize
  2. nsenter -t "$SYSTEMD_PID" -a中的-a选项可能会遇到问题,应该改成-m -p
    另外如果脚本执行错误,会导致会话进不去。因此最好就在当前窗口输入命令检查是否有异常,例如:
nsenter

Docker desktop

在国内安装docker desktop,以及在docker desktop中安装kubernetes(目前最新版本为1.24.0)均不需要搭梯子。
Docker可以配置国内源,优先用阿里云的源,例如:

{
...
"registry-mirrors": [
"https://<your id>.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn/",
"https://reg-mirror.qiniu.com/"
]
...
}

如果有异常,可以删除C:Users<your account>AppDataRoaming目录下的Docker DesktopDocker目录再重新安装。

集成与便利化工作

在Ubuntu中集成docker和k8s

WSL Ubuntu中不要再安装docker和k8s了,应当直接用Windows的。

  • Docker:在Settings -> Resources -> WSL Integration中勾选
  • K8S:在Settings -> Kubernetes中勾选Show system containers (advanced)即可。

别名和命令补全

确保bash-completion已安装:

apt install -y bash-completion

添加kubectl别名并进行命令补全:

cat << __EOF__ >> /etc/bash.bashrc
alias k=kubectl
source <(kubectl completion bash)
source <(kubectl completion bash | sed s/kubectl/k/g)
__EOF__

重新进入会话即可。

kubens

curl -L https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubens -o /usr/bin/kubens
chmod +x /usr/bin/kubens

其他参考

在Ubuntu中安装K8S(不推荐)

由于上述通过docker desktop安装的方式工作良好,因此下列安装方式并不推荐。

kind(有问题)

参考https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop/#kind-kubernetes-made-easy-in-a-container安装kind
https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop/
但是目前Kind总遇到Deployment不能启动(而又无任何异常)的情况。所以不建议。

直接安装k8s

参考https://blog.csdn.net/m0_60496726/article/details/120765822
/etc/apt/sources.list文件中,增加一行:

deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main

更新软件

apt upgrade
apt update -y

遇到问题时,将第一个提示的Public key输入到下面命令中执行,然后再执行apt update -y

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys
<the public key>

安装kubectl kubeadm kubelet

apt-get install -y kubelet kubeadm kubectl --allow-unauthenticated

最后

以上就是复杂彩虹为你收集整理的打造好用的Docker Desktop、WSL Ubuntu系统背景WSL Ubuntu初始化工作Docker desktop集成与便利化工作其他参考的全部内容,希望文章能够帮你解决打造好用的Docker Desktop、WSL Ubuntu系统背景WSL Ubuntu初始化工作Docker desktop集成与便利化工作其他参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部