官方地址
在centos上的安装流程
安装需要的环境
yum install socat
yum install conntrack
yum install ebtables
yum install ipset
下载KubeKey
电脑必须可以访问github,很重要。不然安装过程会出问题
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.2.1 sh -
为 kk 添加可执行权限:
chmod +x kk
开始安装
./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1
安装效果:
安装成功,会显示地址和账号密码
登录效果
忘记了admin的密码,修改密码
#这里将密码设置为Qq@123456
kubectl patch users admin -p '{"spec":{"password":"Qq@123456"}}' --type='merge' && kubectl annotate users admin iam.kubesphere.io/password-encrypted-
开启DevOps
devops-jenkins容器为pending状态,报0/1 nodes are available: 1 Insufficient cpu解决方法
配置maven加速
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
然后保存就可以了
创建流水线
编辑流水线(部署项目)
运行后,效果
拉取git 代码
首先起名字
点击添加步骤, 先添加指定容器,一个maven的容器
再添加步骤,git
在创建git拉取需要的凭证,选好凭证后,在填写需要拉取的分支
编译项目
添加步骤maven容器后,在添加步骤shell
-Dmaven.test.skip=true 代表跳过测试
-P test 代表选用测试环境
mvn clean package -Dmaven.test.skip=true -P test
打包镜像
打包多个就添加并行阶段
具体步骤就不描述了
//-t gateway:latest 指定容器名和版本
//-f gateway/src/main/resources/Dockerfile 指定Dockerfile 路径
//./gateway/ 进入的工作目录
docker build -t gateway:latest -f gateway/src/main/resources/Dockerfile ./gateway/
将打包好的镜像推送到仓库
仓库自己选
现在示例的是dockerhub
先添加maven运行容器
后添加一下shell 运行命令
docker login -u 账号 -p 密码
//更改名称
docker tag gateway:latest 空间/项目:latest (latest可以写成这样 项目-环境-版本 chat-test-v1)
//例子: docker tag gateway:latest test/base-web:latest
//推送
docker push 空间/项目:latest (latest可以写成这样 项目-环境-版本 chat-test-v1)
//例子: docker push gateway:latest test/base-web:latest
运行部署deploy(运行项目)
先添加maven运行容器
在添加凭证(将kebu的权限授于部署命令,配置将没有权限,就部署不了)
在写运行脚本
创建权限凭证
由于已经创建好了,请忽略已存在提示
KUBECONFIG_CONTENT
部署项目命令
//为什么要加|| echo 0呢,是因为并行有任务先创建了这个目录,就不用创建了
mkdir ~/.kube || echo 0
echo "$KUBECONFIG_CONTENT" > ~/.kube/config
envsubst < gateway/deploy/deploy_test.yaml | kubectl apply -f -
遇到k8s证书过期的情况怎么处理
kubeadm certs check-expiration
或者使用
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep 'Not'
如何更新证书呢?运行以下方法
kubeadm certs renew all
效果如下
重启相关服务
docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash
登录k8s
export KUBECONFIG=/etc/kubernetes/admin.conf