KubeSphere的PaaS平台-管理K8S

简介:

KubeSphere是一个灵活的轻量级容器PaaS平台,通过了CNCF一致性认证,100%开源,由社区驱动与开发。KubeSphere可以部署并运行在任何基础架构以及所有版本兼容的Kubernetes集群之上,包括虚拟机、物理机、数据中心、公有云和混合云等。

官网地址: https://kubesphere.io/zh/

  1. 先安装Docker

1.在线安装Docker

第一步:安装一组工具

sudo yum install -y yum-utils 

第二步:设置 yum 仓库地址

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager \
     --add-repo \
     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第三步:更新 yum 缓存 #yum 是包管理器

sudo yum makecache fast 

第四步:安装新版 docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

第四步:安装成功以后,检查安装状态

指令:

docker info

第五不:设置Docker开机自启

systemctl enable docker

Docker镜像加速

由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json

下面命令直接生成文件 daemon.json,直接在命令行执行即可

cat < /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
  "data-root": "/var/lib/docker"
}
EOF
  1. 安装harbor私有镜像管理服务

安装原因: harbor私有镜像管理服务(通过dockerFile打包后的镜像推送到harbor中,然后KubeSphere连接 到harbor的所有镜像实现镜像服务的部署和管理

2.1安装docker-compose

在这里我把docker-compose安装到了/usr/local/bin/目录,命名为docker-compose,如果不想修改目录的话,也可以按照我定义的路径去安装,这样的话,下面的命令就不需要修改了,避免出错,好不好

curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

授权

# 授权
# 给 docker-compose 目录授权
sudo chmod 777 /usr/local/bin/docker-compose

# 查看version
docker-compose version

重新设置docker国内镜像地址-防止安装KubeSphere时候报错

地址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

KubeSphere的PaaS平台-管理K8S_第1张图片

特意加上 "insecure-registries":["127.0.0.1:5000"] 是为了 Harbor中登录连接时候不使用HTTPS

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://自己的.mirror.aliyuncs.com"],
  "insecure-registries":["自己的IP:5000"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

新增其他国内源(中国科技大学)

{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}
  • 重启生效

servicedocker restart
  • 查看是否成功

docker info

2.2安装harbor

下载百度网盘 harbor-offline-installer-v1.10.17

链接:https://pan.baidu.com/s/1ZNyT2LHwrTaaDLMYc20gmA?pwd=1ze4 
提取码:1ze4 
--来自百度网盘超级会员V6的分享

2.2.1然后解压安装

cd /usr/local/src/harbor
mkdir data
tar -zxvf harbor-offline-installer-v1.10.1.tgz
KubeSphere的PaaS平台-管理K8S_第2张图片

2.2.2 修改配置文件 harbor.yml

vim harbor.yml
KubeSphere的PaaS平台-管理K8S_第3张图片
配置文件的解释~~~~~~~~~~~~~~~~~~~~~~~~~~
# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
hostname = 192.168.126.162

# 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
ui_url_protocol = http

# mysql数据库root用户默认密码root123,实际使用时修改下
db_password = 123456

max_job_workers = 3 

customize_crt = on

ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key

secretkey_path = /data

admiral_url = NA
# 邮件设置,发送重置密码邮件时使用
email_identity = 

email_server = smtp.mydomain.com
email_server_port = 25
email_username = [email protected]
email_password = abc
email_from = admin 
email_ssl = false

# 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password = 123456

# 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
auth_mode = db_auth

# LDAP认证时配置项
ldap_url = ldaps://ldap.mydomain.com
#ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com
#ldap_search_pwd = password
ldap_basedn = ou=people,dc=mydomain,dc=com
#ldap_filter = (objectClass=person)
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5

# 是否开启自注册
self_registration = on

# token有效时间,默认30分钟
token_expiration = 30

# 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员)
project_creation_restriction = everyone

verify_remote_cert = on

2.2.3 执行安装

cd /usr/local/src/harbor/harbor
sh install.sh
KubeSphere的PaaS平台-管理K8S_第4张图片

6、配置开机自启:

/usr/local/sbin/docker-compose -f /data/software/harbor/docker-compose.yml up -d
chmod +x /etc/rc.local /etc/rc.d/rc.local
vim /etc/rc.local
KubeSphere的PaaS平台-管理K8S_第5张图片

安装成功!

登录~~~~~~~~~~~~~~~~~~~~

KubeSphere的PaaS平台-管理K8S_第6张图片

命令行登陆

docker login 10.82.118.186:5000 或者 80 都可以

2.2.3、测试上传和下载

  1. 新建一个项目目录:

KubeSphere的PaaS平台-管理K8S_第7张图片
KubeSphere的PaaS平台-管理K8S_第8张图片
KubeSphere的PaaS平台-管理K8S_第9张图片
KubeSphere的PaaS平台-管理K8S_第10张图片

测试推送一个到harbor服务器中:

KubeSphere的PaaS平台-管理K8S_第11张图片
KubeSphere的PaaS平台-管理K8S_第12张图片

如果出现 push时候 错误

出现这问题的原因是:

Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

这个报错是在本地上传私有镜像的时候遇到的报错:

1.解决办法是:在docker server启动的时候,增加启动参数,默认使用HTTP访问:

vim /usr/lib/systemd/system/docker.service

在12行后面增加 --insecure-registry ip:5000

修改好后重启docker 服务

systemctl daemon-reload

systemctl restart docker

2.如果上述方法还是不能解决,还可以通过以下办法解决:

1.vim /etc/docker/daemon.json 增加一个daemon.json文件

{ "insecure-registries":["192.168.1.100:5000"] }

保存退出

2.重启docker服务

systemctl daemon-reload

systemctl restart docker

推送成功!

KubeSphere的PaaS平台-管理K8S_第13张图片

至此,harbor部署完毕

知识补充:

  1. 如果以后修改了harbor.yml文件,那么先停止使用docker-compose down,再去修改harbor.yml文件,重新启动部署 ./install.sh

docker-compose down

修改 barbor.yml 后 再重新初始化

sh install.sh

2、正常启动harbor启动:

docker-compose up -d

3、未修改配置文件,重启Harbor命令:

docker-compose start | stop | restart

  1. 安装KubeSphere

一、关闭防火墙

systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

第二步:关闭swap分区

swapoff -a
echo "vm.swappiness=0" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf

第三步:配置epel源

rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

第四步:更新yum

yum -y update

第五步:安装依赖组件

yum install -y ebtables socat ipset conntrack

第六步:在安装前请先检查hostname,如果不符合规则会报以下错误

error: Pipeline[CreateClusterPipeline] execute failed: Module[InitKubernetesModule] exec failed: 
failed: [VM-20-8-centos] [AddWorkerLabel] exec failed after 5 retires: add worker label failed: Failed to exec command: sudo -E /bin/bash -c "/usr/local/bin/kubectl label --overwrite node VM-20-8-centos node-role.kubernetes.io/worker=" 
Error from server (NotFound): nodes "VM-20-8-centos" not found: Process exited with status 1

这时候就需要修改hostname,因为我们是单机安装就设置为master吧,执行以下命令

hostnamectl --static set-hostname master
hostnamectl status

第7步:下载 KubeKey

先执行以下命令以确保您从正确的区域下载 KubeKey。

export KKZONE=cn

执行以下命令下载 KubeKey。

curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.2 sh -

为 kk 添加可执行权限:

chmod +x kk

第8步:开始安装

若要同时安装 Kubernetes 和 KubeSphere,可参考以下示例命令:

./kk create cluster --with-kubernetes v1.22.10--with-kubesphere v3.3.0

第9步:验证安装结果

输入以下命令以检查安装结果。

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

成功输出

#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://192.168.0.2:30880
Account: admin
Password: P@88w0rd

NOTES:
  1. After you log into the console, please check the
     monitoring status of service components in
     "Cluster Management". If any service is not
     ready, please wait patiently until all components 
     are up and running.
  2. Please change the default password after login.

#####################################################
https://kubesphere.io             20xx-xx-xx xx:xx:xx
#####################################################

然后访问 http://192.168.0.2:30880

Account: admin

Password: P@88w0rd

即可

你可能感兴趣的:(kubernetes,docker,云原生)