使用kubeode快速部署k8s

50 篇文章 1 订阅
25 篇文章 0 订阅

这里仅限使用在开发环境,学习使用

安装须知,内存必须至少10个G,磁盘40个G

如果磁盘不足,参考这个链接做下扩容

Centos7扩容_愛沢かりん的博客-CSDN博客_centos7怎么扩容

下载tar地址

链接:https://cloud.189.cn/t/JRZrmiBFbeUj
(访问码:6cae)

访问网盘

下载k8s-2022-04-24.tar

接下来把文件上传到服务器

cd /usr/local

tar xf k8s-2022-04-24.tar

cd k8s-2022-04-24

./install.sh

选择第一个

 

│                                                                                                            │                                                                      
                                                                      │ K8s单机版安装完毕,web控制界面dashboard地址(默认账号密码admin/Kuboard123)为: http://IP:30080               │                                                                      
                                                                      │ 内网yum网址为:http://IP:42344                                                                              │                                                                      
                                                                      │   集群grafan监控地址为http://IP:30000  ,默认账户密码admin admin                                            │                                                                      
                                                                      │                                                                                                            │                                                                      
                                                                      │ k8s默认nfs持久化路径为: /data/nfs                                                                         │                                                                      
                                                                      │                                                                                                            │                                                                      
                                                                      │ k8s应用商店kubeapps地址: http://IP:38082                                                                   │                                                                      
                                                                      │  登录token获取命令: sh /root/K8s/k8s_yaml/get_kubeapps_token.sh                                            │                                                                      
                                                                      │                                                                                                            │                                                                      
                                                                      │ 如有疑问请加QQ群893480182    

等待几分钟,执行完毕

接下来我们看下k8s的控制台

http://192.168.184.128:30080/

默认账号密码admin/Kuboard123

接下来我们看下grfana

http://192.168.184.128:30000/login

账号:admin 
密码:admin  

接下来回到控制台,添加集群

 随便输入一个名称,点击确定

 然后把这些命令复制,粘贴到虚拟机中

刷新k8s控制台

 使用选择admin,点击集群概要

就可以看到我们的概要界面了

 这时候我们在docker中添加下harbor的仓库地址

没有安装的先安装下harbor

docker安装harbor_我是一只代码狗的博客-CSDN博客

cat > /etc/docker/daemon.json <<-'EOF'
{
 "registry-mirrors": ["https://dockerhub.azk8s.cn","https://hub-mirror.c.163.com"],
 "insecure-registries": ["192.168.184.136:80"],
 "exec-opts": ["native.cgroupdriver=cgroupfs"],
 "log-driver": "json-file",
 "log-opts": {"max-size": "10m","max-file": "10"}
}
EOF

然后重启docker使配置文件生效

systemctl daemon-reload
systemctl restart docker

接下来我们做下测试,看能不能拉取到harbor的数据

docker run -d -p 9003:9003 --name demo3 192.168.184.136:80/public/mydemo3:0.1

如果拉取成功,说明配置成功了

接下来我们创建k8s部署(deployment)脚本

选择名称空间->default 进入详情

 

 点击常用操作,选择从YAML创建

 内容如下

apiVersion: apps/v1
kind: Deployment
metadata:
 name: my-deployment
spec:
 replicas: 2
 selector:
  matchLabels:
   app: my-pod
 template:
  metadata:
   labels:
    app: my-pod
  spec:
   containers:
   - name: demo3
     image: 192.168.184.136:80/public/mydemo3:0.1
     ports:
     - containerPort: 9003

Deployment的说明 

apiVersion: apps/v1            ##版本写死
kind: Deployment               ##类型写死
metadata:                      ##Deployment的元数据
  name:                   ##Deployment的名字
spec:                          ##Pod的信息
  replicas: 2                  ##Pod的副本数
  selector:                    ##标签选择器
    matchLabels:               ##查找匹配的标签
      app:                        ##要和下面的app一样的名字
  template:                    ##Pod的模板信息,根据模板信息来创建Pod
    metadata:                  ##Pod的元数据
      labels:                  ##Pod的标签
        app:                 ##要和上面的app一样的名字
    spec:                      ##容器的信息
      containers:              ##容器
      - name:             ##docker run 启动之后的容器名
        image:            ##容器所需的镜像 我们的harbor的地址的镜像
        ports:                 ##端口
        - containerPort:     ##容器暴露的端口这个容器访问的端口

然后点击确定,在点应用

 在点确定

 我们可以看到,创建成功了2个副本,点击进入详情

 

点击追踪日志,就能看到日志信息

点击容器组,我们可以看到有2个容器

 我们也可以进行扩容,在工作负载,点击伸缩

 可以看到进行扩容和缩容,点击确定,然后等待1分钟

 我们的容器组就变成了4个

 如果我们不想在控制台创建Deployment,那么也可以在虚拟机中创建

我们先把控制台的删除掉

选择工作负载

 点击删除,确定

 点击应用

 点击确定

 可以看到我们的容器组有一层横线,等几秒后就清空了

 接下来回到我们的虚拟机

mkdir -p /etc/k8s

cd /etc/k8s
cat > my-deployment.yml <<-'EOF'
apiVersion: apps/v1
kind: Deployment
metadata:
 name: my-deployment
spec:
 replicas: 2
 selector:
  matchLabels:
   app: my-pod
 template:
  metadata:
   labels:
    app: my-pod
  spec:
   containers:
   - name: demo3
     image: 192.168.184.136:80/public/mydemo3:0.1
     ports:
     - containerPort: 9003
EOF

然后创建Deployment

kubectl apply -f my-deployment.yml

 可以看到以及创建成功了

我们可以看下pod的情况

kubectl get pods

 如果我们不想要这个Deployment可以删除掉

kubectl delete deployment my-deployment

可以看到 一段时间之后,pod就不存在了

接下来我们先恢复控制台的yaml

 然后我们来创建Service的yaml

内容如下

apiVersion: v1
kind: Service
metadata:
 name: my-service
spec:
 type: NodePort
 ports:
 - port: 9003
   name: service-port
   nodePort: 31000
 selector:
  app: my-pod

 Service 说明

apiVersion: v1 固定写死kind: Service 固定写死metadata: #元数据  name: 服务的名称spec:   type: 固定 使用宿主机端口,能够访问个Node的外部客户端通过Node的ip和端口就能访问服务器  port: 发布的微服务的端口号 

   name: 随便命名

   nodePort:  浏览器访问的端口号大于30000 小于32500

 selector:

   app: 和Deployment的yaml里面的app的内容一样         

        

 点击 确定 应用 确定

然后在服务这里,就看到我们之前创建好的服务了

 接下来我们通过Service提供的端口访问我们微服务的接口,可以看到访问成功了

http://192.168.184.128:31000/aa

 注意这里不能输入我们自己的9003,而是service的31000

如果不想使用控制台创建yaml,我们也可以在虚拟机中创建

cd /etc/k8s
cat > my-service.yml <<-'EOF'
apiVersion: v1
kind: Service
metadata:
 name: my-service
spec:
 type: NodePort
 ports:
 - port: 9003
   name: service-port
   nodePort: 31000
 selector:
  app: my-pod
EOF

创建service

kubectl apply -f my-service.yml

可以看到,已经存在,我们先删除service,在创建

kubectl delete service my-service

kubectl apply -f my-service.yml

kubectl get service

可以看到创建成功了

 我们只有创建了service才能在浏览器访问我们的微服务,否则不能访问,

由service和微服务进行交互

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值