当前位置:   article > 正文

单台机器安装体验蓝鲸7.1_blueking安装

blueking安装

本文来自腾讯蓝鲸智云社区用户:shenjinrui

使用一台服务器,既是k8s master节点又是node节点。

基础环境信息

系统:CentOS 7.9
CPU/内存: 64C/128G

机器信息

k8s环境准备

安装docker ,docker版本要求:19.03 及更高

yum -y install wget 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release -y
yum install container-selinux -y
wget -O /etc/yum.repos.d/docker-ce.repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce-20.10.20-3.el7

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

安装k8s
这里使用github上开源的一个ansible脚本来安装k8s

# 安装 git 命令行
yum install git -y
# 克隆本项目代码
git clone https://github.com/choerodon/kubeadm-ha.git
# 进入项目目录
cd kubeadm-ha
# 安装 ansible 环境
sudo ./ansible/install.sh

配置好 ansible inventory 文件,然后执行
ansible-playbook -i inventory.ini 90-init-cluster.yml
注:
1、更详细的说明,可以查看https://github.com/choerodon/kubeadm-ha.git
2、这个脚本的使用最主要的是配置inventory文件,以下我的inventory文件的内容

[all]
10.16.34.37 ansible_port=22 ansible_user="root" ansible_ssh_pass="机器密码"

[lb]

[etcd]
10.16.34.37

[kube-master]
10.16.34.37

[kube-worker]
10.16.34.37

[new-master]

[new-worker]

[new-etcd]

[del-worker]

[del-master]

[del-etcd]

[del-node]

[all:vars]
skip_verify_node=false
kube_version="1.20.0"

container_manager="docker"

lb_mode="nginx"
lb_kube_apiserver_port="8443"

kube_pod_subnet="10.244.0.0/18"
kube_service_subnet="10.244.64.0/18"
kube_network_node_prefix="24"

kube_max_pods="400"

network_plugin="calico"

kubelet_root_dir="/data/kubelet"
docker_storage_dir="/data/docker"
containerd_storage_dir="/data/containerd"
etcd_data_dir="/data/etcd"


  • 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

部署NFS,并配置相应的存储类

mkdir /data/nfs
yum install -y nfs-utils
echo '/data/nfs 10.16.34.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)' > /etc/exports
sudo systemctl enable nfs-server
sudo systemctl start nfs-server

helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
helm repo update

helm upgrade --install nfs-client-provisioner c7n/nfs-client-provisioner \
  --set rbac.create=true \
  --set persistence.enabled=true \
  --set storageClass.name=nfs-provisioner \
  --set persistence.nfsServer=10.16.34.37 \
  --set persistence.nfsPath=/data/nfs \
  --version 0.1.1 \
  --namespace kube-system

把存储类配置成默认存储类
kubectl patch storageclass nfs-provisioner   -p '{"metadata": {"annotations":{"storageclass.beta.kubernetes.io/is-default-class":"true"}}}'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

安装其它依赖包

yum install -y jq unzip uuid
  • 1

安装蓝鲸7.1

整个过程都是根据社区文档 https://bk.tencent.com/docs/document/7.0/253/69744
这里主要记录我在这个过程中碰到的问题,详细的安装过程以社区文档为准

安装基础套餐

#下载蓝鲸helmfile包及公共证书
curl -sSf https://bkopen-1252002024.file.myqcloud.com/ce7/7.1-beta/bkdl-7.1-beta.sh | bash -s -- -ur latest base cert
#会把文件下载到 /root/bkce7.1-install/blueking/ 目录下

#执行一键安装脚本,安装基础后台
BK_DOMAIN=bkce7.jinrui.org
cd ~/bkce7.1-install/blueking/  
patt_domain='[a-z0-9]([-a-z0-9]*[a-z0-9])(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
if grep -P "$patt_domain" <<< "$BK_DOMAIN"; then
  scripts/setup_bkce7.sh -i base --domain "$BK_DOMAIN"
else
  echo "BK_DOMAIN($BK_DOMAIN) does not match pattern($patt_domain)."
fi

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

安装到bk-paas、bk-repo,碰到如下的报错,无法解决
image.png
多次折腾,还是报一样的错,但是pod无明显的错误日志,并且pod一直在重启。
经过各种重试,发现这个是pod资源不足导致的,调整pod的资源限额,启动正常,调整bk-repo的资源配额的过程如下
vi /root/bkce7.1-install/blueking/environments/default/bkrepo-values.yaml.gotmpl
下面的我使用的文件的完整内容,其中 “# 新加 开始 ======= # 新加 结束 =======”就是我自行增加的,“# 修改 开始 ======= # 修改 结束 =======” 就是我自行修改过的。

global:
  imageRegistry: {{ .Values.imageRegistry }}

## bkDomainScheme配置
bkDomainScheme: {{ .Values.bkDomainScheme }}

# metrics采集配置
serviceMonitor:
  enabled: {{ .Values.serviceMonitor.enabled }}

## 日志采集配置
bkLogConfig:
  enabled: {{ .Values.bkLogConfig.enabled }}
  service:
    dataId: 1110007
  gatewayAccess:
    dataId: 1110008
  gatewayError:
    dataId: 1110009

persistence:
  size: {{ .Values.bkrepo.size }}
mongodb:
  enabled: false
externalMongodb:
  uri: mongodb://{{ .Values.bkrepo.externalMongodb.username }}:{{ .Values.bkrepo.externalMongodb.password }}@{{ .Values.mongodb.host_port }}/{{ .Values.bkrepo.externalMongodb.database }}?replicaSet={{ .Values.mongodb.rsName }}
nginx-ingress-controller:
  enabled: false
common:
  username: {{ .Values.bkrepo.common.username }}
  password: {{ .Values.bkrepo.common.password }}
docker:
  enabled: true

## 初始化配置
init:
  # 初始化bk-ci(蓝盾)导航
  entrance:
    enabled: false
    bkCiProjectInnerUrl:
  ## BCS(容器管理平台) repo配置
  bcs:
    enabled: true
    publicImageUrl: https://hub.bktencent.com/blueking
    publicChartUrl: https://hub.bktencent.com/chartrepo/blueking

## 网关配置
gateway:
  ## bkrepo 地址
  host: bkrepo.{{ .Values.domain.bkDomain }}
  ## bkrepo docker仓库地址
  dockerHost: docker.{{ .Values.domain.bkDomain }}
  ## bkrepo helm仓库地址
  helmHost: helm.{{ .Values.domain.bkDomain }}
  ## dns服务器地址,用于配置nginx resolver。local=on为openrestry语法,取本机/etc/resolv.conf配置
  dnsServer: local=on
  ## 网关访问微服务认证信息
  authorization: "Platform MThiNjFjOWMtOTAxYi00ZWEzLTg5YzMtMWY3NGJlOTQ0YjY2OlVzOFpHRFhQcWs4NmN3TXVrWUFCUXFDWkxBa00zSw=="
  ## 部署模式,standalone: 独立模式,ci: 与ci搭配模式, saas模式:部署在蓝鲸paas上
  deployMode: saas
  ## 登陆校验模式,ticket or token or ci
  authMode: token
  ## ci模式必填,蓝鲸paas域名
  bkPaasUrl: {{ .Values.bkDomainScheme }}://{{ .Values.domain.bkMainSiteDomain }}
  ## ci模式必填,登录地址
  bkLoginUrl: {{ .Values.bkDomainScheme }}://{{ .Values.domain.bkMainSiteDomain }}/login
  ## ci模式必填,ssm ip
  ssmIP0: bkssm-web.{{ .Values.namespace }}.svc.cluster.local
  ## ci模式必填,ssm host
  ssmHost: bkssm-web.{{ .Values.namespace }}.svc.cluster.local
  ## ci模式必填,ssm port
  ssmPort: 80
  ## ci模式必填,ssm token url
  ssmTokenUrl: /api/v1/auth/access-tokens
  ## ci模式必填,ssm env
  ssmEnv: prod
  ## ci模式必填,app code
  appCode: bk_repo
  ## ci模式必填,app token
  appToken: {{ .Values.appSecret.bk_repo }}
  ## bkrepo gateway service配置
  service:
    type: NodePort
    nodePort: 30025
  resources:
    requests:
      cpu: 100m
      memory: 256Mi
    limits:
# 修改  开始 ======= 
      cpu: 1000m
      memory: 3000Mi
# 修改 结束 =======

auth:
  ## bcs account配置
  bcs:
    accessKey: "bk_bcs_app"
    secretKey: "{{ .Values.appSecret.bk_bcs_app }}"
  config:
    ## 指定realm类型,支持local/devops
    realm: local
    ## realm 指定为devops配置
    devops:
      # bkci accountId in bkrepo
      appId: bkdevops
      # bkci appId set
      appIdSet: bkdevops,bkrepo,codecc,bcs
      # bcs appId
      bcsAppId: bcs
      # bkrepo appId
      bkrepoAppId: bkrepo
      # bkci auth server url
      ciAuthServer: {{ .Values.bkDomainScheme }}://devops.{{ .Values.domain.bkDomain }}
      # bkci auth token
      ciAuthToken: {{ .Values.appSecret.bk_ci }}

helm:
  enabled: true
  resources:
    requests:
      cpu: 100m
      memory: 256Mi
    limits:
# 修改  开始 =======
      cpu: 1000m
      memory: 3000Mi
# 修改 结束 =======
npm:
  enabled: true
  resources:
    requests:
      cpu: 100m
      memory: 256Mi
    limits:
# 修改  开始 =======
      cpu: 1000m
      memory: 3000Mi
# 修改 结束 =======

pypi:
  enabled: true
  resources:
    requests:
      cpu: 100m
      memory: 256Mi
    limits:
# 修改  开始 =======
      cpu: 1000m
      memory: 3000Mi
#修改 结束 =======

# 新加  开始 =======
docker:
  enabled: true
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 3000Mi

generic:
  enabled: true
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 3000M

fs-server:
  enabled: true
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 3000M

job:
  enabled: true
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 3000M

opdata:
  enabled: true
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 3000M

replication:
  enabled: true
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 3000M
# 新加  结束 =======

repository:
  config:
    # 软删除后,清理并释放磁盘空间的间隔时间
    deletedNodeReserveDays: 0
# 新加  开始 =======
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1500m
      memory: 3000M
# 新加  结束 =======

  • 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
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228

最后安装成功
image.png

安装成功后,电脑配置hosts(10.16.34.37 bkce7.jinrui.org),浏览器访问,可以看到如下的效果
image.png
image.png

安装saas

curl -sSf https://bkopen-1252002024.file.myqcloud.com/ce7/7.1-beta/bkdl-7.1-beta.sh | bash -s -- -ur latest saas

部署节点管理:
scripts/setup_bkce7.sh -i nodeman
部署流程服务:
scripts/setup_bkce7.sh -i itsm
部署标准运维:
scripts/setup_bkce7.sh -i sops
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

我在这个过程中,按社区文档的操作可正常完成安装,没有碰到问题。

安装容器平台

https://bk.tencent.com/docs/document/7.0/253/69746

cd ~/bkce7.1-install/blueking
helmfile -f 03-bcs.yaml.gotmpl sync
# 在admin桌面添加应用,也可以登录后自行添加。
scripts/add_user_desktop_app.sh -u "admin" -a "bk_bcs"
# 设为默认应用。
scripts/set_desktop_default_app.sh -a "bk_bcs"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这个过程中,碰到的问题是bcs-services-stack-app这个pod无法正常进入Running状态,经排查是因为内存限额过小导致,直接修改bcs-services-stack-app这个deployment中的内存限额,注意:该deployment中的pod有多个容器,我这里是每个容器都进行了修改。

kubectl edit deployment bcs-services-stack-app -n bcs-system
我这里是对这个deployment的中的所有容器的resources.limits都修改成如下的:

        resources:
          limits:
            cpu: "4"
            memory: 6Gi
          requests:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

image.png

安装监控日志

https://bk.tencent.com/docs/document/7.0/253/69742
我在这个过程中,按社区文档的操作可正常完成安装,没有碰到问题。
image.png
image.png

总体感受

相比之前安装7.1之前的版本,安装7.1版本的过程顺畅很多,社区应该是花了很大的人力物力去完善了脚本

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/349294
推荐阅读
相关标签
  

闽ICP备14008679号