применять кLinux
изWindows
Подсистема (WSL
) ДаWindows 10
Добавлена функция, которую можно использовать непосредственно вWindows
запускать наLinux
Заказ. иWSL 2
даWSL
Новая версия, поддерживающаяLinux
изWindows
подсистема вWindows
запускать наELF64 Linux
бинарный файл. Его основная цель — улучшить производительность файловой системы и повысить полную совместимость системных вызовов.WSL 2
Использование технологии виртуализации в облегченной служебной виртуальной машине (VM
) работает внутриLinux
ядро.
включить и настроитьWSL 2
требования к версии win
WSL 2
только приWindows 10 18917
или выше доступна версия, если версия слишком низкая, вы можете добавитьWindows Insider
ОбновитьWindows
, мы можемcmd
используется вver
чтобы проверить текущийwin
версия.
включить虚拟机平台
дополнительные компоненты
существуетpowerShell
Выполните следующую команду от имени администратора
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
После завершения операции перезагрузите компьютер, чтобы завершить установку.
Настройка дистрибутива WSL
Если вы хотите установить по умолчаниюWSL
Раздача настроена наWSL 2
,существуетpowerShell
используйте следующую команду в
wsl --set-default-version 2
Если вы хотите установить дистрибутив какWSL2
,существуетpowerShell
используйте следующую команду в<Distro>
Просто перейдите на дистрибутив, который вы хотите настроить, например.Ubuntu-18.04
wsl --set-version <Distro> 2
Подтвердите с помощьюWSL
Версия
wsl -l -v
Загрузить и установитьUbuntu-18.04
существуетWindows
Поиск в магазине приложенийUbuntu-18.04
, а затем загрузить, открыть после завершения загрузкиUbuntu-18.04
, то сначала будут выполнены некоторые начальные настройки установки, а затем вам будет предложено установить новыйUNIX
После того, как имя пользователя и пароль установлены, введитеlinux
подсистема. убедиться, что этоWSL 2
нам просто нужноpowerShell
входитьwsl -l -v
, вывод следующий, здесьVERSION
за2
Делегат включенWSL 2
NAME STATE VERSION
* Ubuntu-18.04 Running 2
Ubuntu-18.04
Замените внутренние источники
Сначала сделайте резервную копию источника по умолчанию
cp /etc/apt/sources.list /etc/apt/sourses.list.bak
Измените источник по умолчанию на источник Ali, используйтеsudo vim /etc/apt/sources.list
Команда для редактирования, удаления исходного контента и добавления следующей информации Aliyuan
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
После изменения источника используйте следующую команду для его обновления.
sudo apt-get update
sudo apt-get upgade
Конфигурация установкиWindows Terminal
скачатьWindows Terminal
Windows Terminal
даwin
Запущен новый инструмент командной строки, который можно найти и скачать в магазине приложений.После установки интерфейс открывается следующим образом
Введение в него не будет здесь расширяться, а как его использовать записывается здесь.Windows Terminal
соединятьWSL 2
и установить конфигурациюzsh
.
Установитьzsh
# 安装 zsh
sudo apt-get install zsh
# 修改默认的 Shell 为 zsh
chsh -s /bin/zsh
Установитьoh-my-zsh
oh-my-zsh
для быстрой настройкиzsh
,ВходитьОфициальный сайтилиGithubВы можете понять его основное использование и использование его богатой темы.Для установки вам нужно всего лишь выполнить следующий код.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Установитьzsh-syntax-higlighting
Плагин подсветки синтаксиса
# 下载
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
# 移动到 plugins 文件夹中
mv -p zsh-syntax-highlighting $ZSH_CUSTOM/plugins
# 配置环境变量
cd ~
vim .zshrc
#在 plugins 一列中添加 zsh-syntax-highlighting,如下
plugins=(
git
zsh-syntax-highlighting
)
# 在文件末尾添加
source $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# 配置生效
source ~/.zshrc
Установитьzsh-autosuggestions
Плагин истории синтаксиса
# 下载
git clone https://github.com/zsh-users/zsh-autosuggestions.git
# 移动到 plugins 文件夹中
mv -p zsh-autosuggestions $ZSH_CUSTOM/plugins
# 配置环境变量
cd ~
vim .zshrc
#在 plugins 一列中添加 zsh-autosuggestions,如下
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
)
# 在文件末尾添加
source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# 配置生效
source ~/.zshrc
После завершения настройки курсор темы по умолчанию отображается ниже.Если вы хотите настроить более богатую тему, вы можете Baidu
Установить и настроитьDocker
окрестности
существуетWSL 2
установкаDocker
удалить старую версию
sudo apt-get remove docker docker-engine docker.io containerd runc
Настроить репозиторий
# 更新 apt 包索引
sudo apt-get update
# 安装软件包以允许 apt 通过 HTTPS 使用存储库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 设置稳定的存储库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
УстановитьDocker
Издание сообщества (docker-ce
)
# 更新 apt 包索引
sudo apt-get update
# 安装最新版本的 Docker 和 containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
# (*)安装特定版本;<VERSION> 为具体版本,例如 18.09.1
sudo apt-get install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
запускатьdocker
И настроить загрузку на автоматический запуск
# 启动 docker
systemctl start docker.service
# 设置开机自启
systemctl enable docker.service
если неroot
пользователь хочет использоватьdocker
, пользователь должен быть добавлен вdocker
группа пользователей
sudo usermod -aG docker user-name
(*) Удалить докер
# 卸载软件
sudo apt-get purge docker-ce
# 删除 docker 的容器,镜像,卷等存储
sudo rm -rf /var/lib/docker
Загрузить и установитьDocker Desktop WSL 2 backend
WSL 2
Вводит значительные архитектурные изменения, как этоMicrosoft
полная сборкаLinux
ядро, разрешитьLinux
Контейнеры работают изначально без эмуляции, в то время какDocker
Он также был специально разработан для использованияWSL 2
серединаDocker
менеджер рабочего стола демона, открытьDocker Desktop WSL2 backendстраницу, загрузите последнюю версию программы, после установки откройте программу и выполните следующие настройки.
- Включить экспериментальную основу
WSL 2
флажок двигателя (Enable the experimental WSL 2 based engine
)
- (*) незащищенный
2375
Port, чтобы другие внешние программы также могли управлятьDocker
(ОткрытымExpose daemon on tcp://localhost:2375 without TLS
предыдущий флажок) - существует
Resources
набор из которогоWSL 2
Доступ в релизеDocker
, который используется на следующем рисункеUbuntu-18.04
После завершения настройки нажмитеApply & Restart
Применить и перезапуститьDocker Desktop
. После полной перезагрузки видимDesktop
нижняя левая ногаDocker
статус зеленыйrunning
выражатьDocker
Бег.
Чтобы узнать, что вы установилиDocker
Для получения соответствующей информации о версии мы можем найти ее вAbout Docker Desktop
Как показано на рисунке ниже, текущий установленныйDocker Engine
Версия19.03.5
,Docker-compose
Версия1.25.1-rc1
, поддерживаетсяKubernetes
Версияv1.15.5
.
Установить и настроитьKubernetes
окрестности
ИсправлятьDocker daemon
настроить
докер по умолчаниюCgroup Driver
заcgroup
,Но когдаkubernetes1.14
Рекомендуется использовать более поздние версииsystemd
прийти какDocker
изcgroup
водить машину. использоватьvim /etc/docker/deamon.json
Команда для изменения или создания новой конфигурации. Конкретное содержимое конфигурации см.Официальный представитель Kubernetes.
Кроме того, нам нужно настроитьDocker
Внутренний зеркальный источник, ускоренное зеркалоdownload
Скорость обычно используется в зеркальном источнике Али и Университете науки и техники Китая. Вышеупомянутые два шага настройки следующие:
# 编辑 deamon 文件
vim /etc/docker/deamon.json
# 输入如下内容
{
"registry-mirrors": ["https://6e0d9uoa.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
# 重启 Docker
sudo service docker restart
скачатьKubernetes
необходимое зеркало
Из-за проблем с сетью, если вы не можете получить доступ к внешней сети,Decker Desktop
выбрать вKubernetes
Его нельзя запустить. К счастью, служба Alibaba Cloud Container Service находится вGithub
открытый источникDocker Desktop для Mac/Windows позволяет использовать Kubernetesпроект, нам просто нужно скачать его и выполнить скрипт, чтобы получить всеKubernetes
Все необходимые изображения загружаются локально.
#将项目下载到本地
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop
#进入项目目录
cd k8s-for-docker-desktop
#由于最新 master 已经支持 kubernetes v1.15.5,所以直接执行下载脚本即可
./load_images.sh
После того, как все зеркала загружены, мы используемdocker images
Вы можете увидеть загруженный контейнер
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-apiserver v1.15.5 e534b1952a0d 2 months ago 207MB
k8s.gcr.io/kube-proxy v1.15.5 cbd7f21fec99 2 months ago 82.4MB
k8s.gcr.io/kube-controller-manager v1.15.5 1399a72fa1a9 2 months ago 159MB
k8s.gcr.io/kube-scheduler v1.15.5 fab2dded59dd 2 months ago 81.1MB
quay.io/kubernetes-ingress-controller/nginx-ingress-controller 0.26.1 29024c9c6e70 2 months ago 483MB
docker/kube-compose-controller v0.4.23 a8c3d87a58e7 6 months ago 35.3MB
docker/kube-compose-api-server v0.4.23 f3591b2cb223 6 months ago 49.9MB
k8s.gcr.io/coredns 1.3.1 eb516548c180 11 months ago 40.3MB
k8s.gcr.io/kubernetes-dashboard-amd64 v1.10.1 f9aed6605b81 12 months ago 122MB
k8s.gcr.io/etcd 3.3.10 2c4adeb21b4f 12 months ago 258MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 24 months ago 742kB
включитьKubernetes
мы вDocker Desktop
Выберите Включить в настройкахkubernetes
, затем нажмитеApply & Restart
перезагружать.
Если вам повезет, при перезагрузке вы найдетеDesktop
нижняя левая ногаDocker
иKubernetes
статус стал зеленымrunnning
, но очень вероятно, что после перезапускаkubernetes
Статус всегда был желтыйstarting
. Не волнуйтесь, если это произойдет, мы можемC:\ProgramData\DockerDesktop
внизservice.txt
Проверьте информацию журнала запуска.Как правило, запуск завершается неудачно, и информация журнала, которая появляется чаще всего, является следующим повторяющимся содержимым
[08:57:24.359][ApiProxy ][Info ] time="2019-12-20T08:57:24+08:00" msg="cannot list nodes: Get https://kubernetes.docker.internal:6443/api/v1/nodes: EOF"
[08:57:24.359][GoBackendProcess ][Info ] time="2019-12-20T08:57:24+08:00" msg="external: POST /events 200 \"Go-http-client/1.1\" \"\""
В этом случае вы можете обратиться кIssue 3769(comment)
иIssue 1962(comment)
, по сути, суммировать следующие операции:
- Исправлять
host
файл, будет127.0.0.1 kubernetes.docker.internal
Картографическая информация добавлена вhost
в файле - изменить сетевое соединение
DNS
адрес8.8.8.8
,win
как изменить сетевое подключениеDNS
Вы можете самостоятельно использовать Baidu - Удалить
C:\ProgramData\DockerDesktop
в каталогеpki
файл каталога - Удалить
C:\Users\<yourname>目录下
из.kube
файл каталога - закрытие
win
сетевой брандмауэр илиvpnkit.exe
Добавлено в правила для входящего и исходящего трафика брандмауэра. - существует
Desktop
нажмите, чтобы войтиtroubleshoot
, щелкните Сбросkubernetes
кластер (Reset Kubernetes cluster
)
Если вышеуказанная операция по-прежнему не удалась, рекомендуется повторить операцию несколько раз. Если есть другие проблемы, обычно обращайтесь кdocker\for-winПроектissue
Решение можно найти ниже. Если запуск прошел успешно, мы можем проверить, выполнив следующую команду в командной строке
$ kubectl cluster-info
Kubernetes master is running at https://kubernetes.docker.internal:6443
KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
docker-desktop Ready master 6h v1.15.5
развертыватьKubernetes dashboard
Kubernetes dashboardдаKubernetes
на основе кластераWeb
ОбщийUI
. Он позволяет пользователям управлять приложениями, работающими в кластере, и устранять неполадки, а также управлять самим кластером. Выполните следующую команду для развертывания
# 新建 dashboard 资源
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
# (*)如果上面命令执行说网络连接有问题,把 yaml 文件下载到本地,然后执行
kubectl apply -f kubernetes-dashboard.yaml
# 开启 API Server 访问代理
kubectl proxy
После завершения развертывания мы передаем следующееURL
получить доступKubernetes dashboard
ВходитьDashboard
Если вам нужен токен, вы можете получить его с помощью следующей команды, а затем скопировать и вставить сгенерированный токен в поле ввода токена для входа.
kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}'
Загрузить и установитьHelm
HelmдаDeisОдна разработкаkubernetes
менеджер пакетов. каждый пакет называетсяChart
,Helm
Установка клиента очень проста, мы можем перейти кGithubЗагрузите последнюю исполняемую программу, распакуйте ее и используйте. Конкретные шаги операции следующие:
# 下载 v2.16.1 版本
wget https://get.helm.sh/helm-v2.16.1-linux-amd64.tar.gz
# 解压
tar -zxvf helm-v2.16.1-linux-amd64.tar.gz
cd linux-amd64/
# 移动到 /usr/local/bin 目录下
cp helm /usr/local/bin/
Серверtiller
Его не так просто установить, потому что зеркало внешней сети нужно скачать. к счастьюDocker Hub
Есть зеркальные изображения, упакованные и загруженные другими, нам нужно толькоpull
спуститься, ударитьtag
Затем выполняются следующие конкретные шаги:
# 下载镜像到本地
docker pull doublemine/kubernetes-helm.tiller:v2.16.1
# 添加 tag
docker tag doublemine/kubernetes-helm.tiller:v2.16.1 gcr.io/kubernetes-helm/tiller:v2.16.1
После того, как образ сервера загружен локально, мы можем установить его на кластерtiller
, мы можем запустить следующие команды, чтобы создать учетную запись службы и инициализировать клиент.
kubectl create serviceaccount tiller -n kube-system
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount kube-system:tiller
helm init --wait --service-account tiller
После завершения установки и инициализации мы хотим проверитьtiller
Независимо от того, запущена ли служба, вы можете использовать следующую команду
$ kubectl get pod --namespace kube-system
NAME READY STATUS RESTARTS AGE
coredns-5c98db65d4-7rn5b 1/1 Running 0 12h
coredns-5c98db65d4-bx9x2 1/1 Running 0 12h
etcd-docker-desktop 1/1 Running 0 12h
kube-apiserver-docker-desktop 1/1 Running 0 12h
kube-controller-manager-docker-desktop 1/1 Running 0 12h
kube-proxy-rdtfm 1/1 Running 0 12h
kube-scheduler-docker-desktop 1/1 Running 0 12h
kubernetes-dashboard-7d75c474bb-qcbxx 1/1 Running 0 4h46m
tiller-deploy-54f7455d59-fgsnb 1/1 Running 0 12h
Мы видим, что последний столбец показываетtiller
Служба запущена.
Helm настраивает отечественные зеркальные источники
когда мы используемhelm
При установке приложения мы найдемdownload
Скорость очень низкая, и могут быть проблемы с сетью.В этом случае нам нужно настроить зеркальный источник загрузки по умолчанию, чтобы он был домашним. Конкретные этапы настройки следующие:
# 删除默认的镜像源
helm repo remove stable
# 增加新的国内镜像源
helm repo add stable http://mirror.azure.cn/kubernetes/charts/
helm repo add incubator http://mirror.azure.cn/kubernetes/charts-incubator/
# 更新仓库
sudo helm repo update
# 测试速度
helm search mysql