首页
首页
文章目录
  1. 简介
    1. 程序的优势
    2. 使用前准备
  2. 测试的系统配置地址:
  3. 开源地址:
  4. 配置文件说明:
  5. tools包下载地址

gokubernetes 一键部署可上生产的k8s集群 默认支持证书99年

简介

一直在用ansible来部署k8s集群。但是因为很多项目都是私有云项目,对于我这个懒人来说,能简单一点 就简单一点。因此就有了这个工具。

程序的优势

  • 不在依赖node端部署nginx或者master部署haproxy keepalived 实现高可用
  • 不需要安装ansible
  • 默认支持99年证书
  • 默认支持安装dashborad
  • 默认安装metrics-server
  • 默认使用ipvs网络 速度效率更高
  • 支持修复iptables 版本过低问题(需要有网络)

    使用前准备

    1、打开服务器ssh
    2、配置统一密码
    3、准备好harbor仓库或者私有仓库地址
    4、按需修改config.yaml
    5、将tools.tar.gz 下载放到k8spath(/tmp/k8s/)目录下 该目录可在config.yaml中修改 tools.tar.gz文件下载地址已放到文章最后。
    6、运行./gokubernetes

测试的系统配置地址:

系统版本 内核 docker版本 k8s 版本 cni插件版本 flannel版本 coreDNS版本
Centos 7.6 4.14 18.09.6 1.16.15 0.9.0 0.13.0 1.8.0

开源地址:

开源代码地址
https://github.com/liichao/gokubernetes

配置文件说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
##########################必须配置#####################################
master:
10.10.77.191-193
node:
10.10.77.191-196
# 写master中随便一个即可,在安装完成后 会自动替换为ivps service地址
apiServer:
10.10.77.191
# k8s的serviceip地址段
svcIP:
10.249.0.0/16
# k8s pod内容器ip地址段
clusterIP:
172.235.0.0/16
password:
密码
# 是否安装时间同步服务器
chrony:
enable:
true
# 时钟同步服务器
ntpServer:
ntp.aliyun.com
##### 以下内容为私有仓库内容 替换dzero.com 以及10.10.76.185 即可
# harbor地址
harborIP:
private:
true
IP:
10.10.76.185
harborUrl:
dzero.com
# harbor账户
harborUser:
admin
# harbor密码
harborPwd:
Harbor12345
# flanneld 离线docker镜像
flanneldImageOffline:
flanneld-v0.13.0-amd64.docker
# flannled 镜像地址
flanneldImage:
dzero.com/base/flannel:v0.13.0-amd64
# pause 离线docker镜像
pauseImageOffline:
pause-amd64-3.2.tar
# pasuse 镜像地址
pauseImage:
dzero.com/base/pause-amd64:3.2
# 修复iptables版本过低
repair:
iptables:
false
iptablesBinName:
iptables-1.6.2.tar.bz2
# 集群dns的域名,在kubelet-config.yaml的配置也有这个配置
clusterDnsDomain:
cluster.local.
# 安装其他增项 默认为安装
other:
install:
true
# coredns安装
dns:
install:
true
# 是否载入镜像,当为false时候需要载入镜像,并推送到仓库
loadImage:
true
# dnsIP 为svcip的第二个ip
dnsIP:
10.249.0.2
coreDnsImages:
dzero.com/base/coredns:1.8.0
coredns_offline:
coredns_1.8.0.tar
metricsserver:
install:
true
loadImage:
true
metricsServerImages:
dzero.com/base/metrics-server-amd64:v0.3.6
metricsserver_offline:
metrics-server-amd64_v0.3.6.tar
# dashboard 安装
# dashboard v2.x.x 不依赖于heapster
dashboard:
install:
true
loadImage:
true
dashboardImages:
dzero.com/base/dashboard:v2.1.0
dashboard_offline:
dashboard_v2.0.4.tar
metricsscraperImages:
dzero.com/base/metrics-scraper:v1.0.6
metricsscraper_offline:
metrics-scraper_v1.0.6.tar
##########################必须配置结束#####################################
##### 以下内容均不需要修改,或按需修改
# 是否启用ipvs apiserver高可用。 如果启用 在集群部署完成后,会将 apiServer的ip 替换成 svcIP网段的第一个地址10.249.0.1:443
# 从而实现apiserver 高可用
# 这个组件也可以后面单独启用的
ipvsApiServer:
true
# 相关配置目录
k8sPath:
/tmp/k8s/
# 是否配置系统
system:
true
# 系统内核 3或者4
kernel:
4
# 是否启用ipvs,默认启用
proxyMode:
ipvs
# 创建证书,如果第二次运行可以改为no 第一次必须false
createCert:
true
# 是否安装etcd
etcd:
true
# 当为true安装etcd集群 当为false时 删除etcd集群
etcdInstall:
true
# 在node上安装docker
docker:
true
# 当为true安装docker 当为false时 删除docker
dockerInstall:
true
# docker的离线二进制文件放到k8spath/tools下
dockerInstalltgz:
docker-18.09.6.tgz
# k8s api 安装
installK8sApi:
true
removeK8sApi:
false
# k8s node 安装
installK8sNode:
true
# k8s node 删除
removeK8sNode:
false
# k8s node节点的掩码
nodeCidrLen:
24
# k8s nodePort允许分配的端口范围
nodePortRange:
2000-60000
# 单个node 允许运行最多pod数
maxPods:
88
# cni网络
cnitools:
cni-plugins-linux-amd64-v0.9.0.tgz
# 安装网络插件
network:
install:
true
loadImage:
true
# 网络模式 vxlan host-gw 等
flannelBackend:
vxlan

配置文件写的已经很清楚了没啥可说的了。

tools包下载地址

tools包内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tools
├── README.md
├── cfssl
├── cfssljson
├── cni-plugins-linux-amd64-v0.9.0.tgz
├── coredns_1.8.0.tar
├── dashboard_v2.0.4.tar
├── docker-18.09.6.tgz
├── etcd.tar.gz
├── flanneld-v0.13.0-amd64.docker
├── hyperkube
├── iptables-1.6.2.tar.bz2
├── metrics-scraper_v1.0.6.tar
├── metrics-server-amd64_v0.3.6.tar
└── pause-amd64-3.2.tar

链接:https://share.weiyun.com/6MeG1lQ1 密码:3uerqf

以上

End!

欢迎大家评论分享转发

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫