Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
K
k8s-develop-local
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
system
k8s-develop-local
Commits
db55baa3
Commit
db55baa3
authored
Nov 01, 2018
by
胡凯旋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update readme
parent
0f77eb83
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
49 deletions
+59
-49
README.md
README.md
+59
-49
No files found.
README.md
View file @
db55baa3
【WIP】Mac下搭建本地k8s,并进行开发、调试和部署
## 安装Docker/k8s
## 环境准备
### 安装Docker/k8s
1.
安装
[
Docker for Mac
](
https://docs.docker.com/docker-for-mac/install/
)
,Version>=18.06,低版本可能不自带Kubernetes
...
...
@@ -18,7 +19,7 @@ $ ./load_images.sh

5.
可选的步骤:
切换
`Kubernetes`
运行上下文至
`docker-for-desktop`
5.
切换
`Kubernetes`
运行上下文至
`docker-for-desktop`
```
bash
# 一般只有在之前用其他方式运行过Kubernetes才需要
...
...
@@ -49,23 +50,63 @@ http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-da
[
`https://github.com/kubernetes/dashboard/wiki/Access-control#admin-privileges`
](
https://github.com/kubernetes/dashboard/wiki/Access-control#admin-privileges
)
## 服务初次部署
1.
添加证书,重启docker
### 安装Helm
为了之后能够使用 gm-cli 更方便地进行本地环境的搭建与开发,需要安装配置helm
```
# 用 homebrew 安装 Helm
$ brew install kubernetes-helm
# 初始化本地 CLI 并 将 Tiller 安装到 Kubernetes cluster
$ helm init
# 更新本地 charts repo
$ helm repo update
```
### 一些初始化配置
1.
添加证书:
```
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ./harbor.crt
```
**重启docker**
2.
docker login
harbor.test.gengmei
2.
docker login
```
docker login harbor.test.gengmei
username: gmuser
password: Gengmei123!
```
3.
创建项目目录,日志目录到指定位置
3.
docker-for-mac上添加File Sharing配置 /srv/apps、/data/log,添加后点击Apply & Restart,若报错如下,可不必添加。

至此就能使用gm-cli构建本地集群了,具体使用参考
[
gm-cli
](
http://git.igengmei.com/system/gm-cli
)
-----------------------------------------------------------------------------------------
## 手动部署集群
下面是不用gm-cli的情况下手动搭建本地集群的步骤
1.
备份之前的路由表,用当前目录下的路由表替换之前的路由表
```
mv /etc/gm-config/storage/static.dir/helios.dir/static_route_table.json /etc/gm-config/storage/static.dir/helios.dir/static_route_table.json.old
cp ./static_route_table.json /etc/gm-config/storage/static.dir/helios.dir/static_route_table.json
```
2.
创建项目目录,日志目录到指定位置
```
sudo mkdir -p /data/log /srv/apps
sudo chown 自己的用户名 /data/log /srv/apps
# 约定日志目录
mkdir -p /data/log/backend/app /data/log/gaia/app /data/log/mimas/app /data/log/doris/app # ...
# 约定代码目录
mkdir -p /srv/apps
```
3 clone 项目代码
```
sudo mkdir -p /data/log/backend/app /data/log/gaia/app /data/log/mimas/app /data/log/doris/app # ...
sudo mkdir -p /srv/apps
cd /srv/apps
git clone git@git.wanmeizhensuo.com:backend/backend.git
git clone git@git.wanmeizhensuo.com:backend/gaia.git
...
...
@@ -79,6 +120,10 @@ cd 项目目录
git checkout paas
docker build --no-cache -t 项目名:local.latest .
```
另外需要一个Redis的镜像:
```
docker pull redis
```
5.
复制 settings_local 到项目目录下
```
...
...
@@ -88,17 +133,7 @@ cp ./settings_local/mimas/settings_local.py /srv/apps/mimas/settings/settings_lo
cp ./settings_local/doris/devel.py /srv/apps/doris/doris/devel.py
```
6.
docker-for-mac上添加File Sharing配置 /srv/apps、/data/log,添加后点击Apply & Restart,若报错如下,可不必添加。

7.
备份之前的路由表,用当前目录下的路由表替换之前的路由表
```
mv /etc/gm-config/storage/static.dir/helios.dir/static_route_table.json /etc/gm-config/storage/static.dir/helios.dir/static_route_table.json.old
cp ./static_route_table.json /etc/gm-config/storage/static.dir/helios.dir/static_route_table.json
```
8.
设置configmap
6.
设置configmap
```
kubectl create configmap static-route-table --from-file=/etc/gm-config/storage/static.dir/helios.dir/static_route_table.json
kubectl create configmap backend-settings --from-file=/srv/apps/backend/gengmei/settings_local.py
...
...
@@ -107,7 +142,7 @@ kubectl create configmap mimas-settings --from-file=/srv/apps/mimas/settings/set
kubectl create configmap doris-settings --from-file=/srv/apps/doris/doris/devel.py
```
9
.
部署Pod和Service
7
.
部署Pod和Service
```
# Pod
kubectl create -f deploy/backend-deploy.yml
...
...
@@ -123,15 +158,14 @@ kubectl create -f service/doris-service.yml
kubectl create -f service/redis-service.yml
```
10
.
测试服务是否正常
8
.
测试服务是否正常
```
kubectl get service -o wide
```
找到backend-service的PORTS, 如下图就是33254,访问localhost:33254

找到backend-service的PORTS, 默认30001,访问
[
localhost:30001
](
localhost:30001
)
验证服务
##
服务调试
##
# 服务调试(不使用gm-cli)
1.
本地开发,对/srv/apps的服务进行开发
2.
(如果涉及依赖的更新,先切到项目目录,执行
`docker build --no-cache -t 项目名:local.latest .`
)
...
...
@@ -141,32 +175,8 @@ kubectl get service -o wide
kubectl replace --force -f deploy/backend-service.yml # 更改了哪个服务,更新时就用deploy目录下的对应文件更新
```
3.
测试
## NEXT -- Helm
为了之后能够使用 gm-cli 更方便地进行本地环境的搭建与开发,需要安装配置helm
```
# 用 homebrew 安装 Helm
$ brew install kubernetes-helm
# 初始化本地 CLI 并 将 Tiller 安装到 Kubernetes cluster
$ helm init
```
4.
测试
以MySQL的部署和删除为例简单介绍一下使用:
```
# 更新本地 charts repo
$ helm repo update
# 安装 mysql chart
$ helm install --name my-mysql stable/mysql
# 删除 mysql
$ helm delete my-mysql
# 删除 mysql 并释放该名字以便后续使用
$ helm delete --purge my-mysql
```
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment