K3s 部署+本地仓库+应用整套部署方案

K3s

hostnamectl set-hostname k3s-master01 && bash

hostnamectl set-hostname k3s-node1 && bash

hostnamectl set-hostname k3s-node2 && bash

  1. master 修改/etc/hosts文件

vim /etc/hosts

192.168.1.99 k3s-master01

192.168.1.89 k3s-node1

192.168.1.90 k3s-node2

  1. 关闭以下服务

systemctl stop firewalld && systemctl disable firewalld  #关闭防火墙

setenforce 0  #setenforce 0  #关闭selinux 临时关闭

sed -i 's/enforcing/disabled/' /etc/selinux/config #永久关闭

swapoff -a   #关闭swap 临时关闭

sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭

  1. 同步服务器时间

yum install ntpdate -y

ntpdate time.windows.com

  1. 设置docker镜像并安装docker

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

yum -y install docker-ce-20.10.23

systemctl enable docker && systemctl start docker

vim /etc/docker/daemon.json

{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://noohub.ru"
]
}

systemctl daemon-reload && systemctl restart docker

  1. master下载k3s服务离线安装k3s 当前为V1.29.6+K3S2

 下载k3s二进制文件

wget https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s

https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s

离线依赖

​

wget https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s-airgap-images-amd64.tar
​

运行命令

cp k3s /usr/local/bin
chmod +x /usr/local/bin/k3s
docker load -i k3s-airgap-images-amd64.tar

下载k3s可执行文件
  

wget https://rancher-mirror.rancher.cn/k3s/k3s-install.sh

chmod +x k3s-install.sh

安装k3s

# INSTALL_K3S_SKIP_DOWNLOAD这一变量设置为 true 时,k3s-install.sh 脚本将跳过下载 K3s 二进制文件的步骤。这通常用于已经手动下载和放置了 K3s 二进制文件的场景。

# server 指定 K3s 以服务器模式运行。这是 K3s 主节点的默认运行模式

INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='server --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 644 --tls-san 192.168.1.99 --docker --node-ip 192.168.1.99' ./k3s-install.sh

MASTER

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

kubectl get nodes

kubectl get pods -n kube-system

获取token

cat /var/lib/rancher/k3s/server/node-token

 

检查是否安装正常  

k3s check-config

vim /etc/default/grub

GRUB_CMDLINE_LINUX="user_namespace.enable=1 原有信息"

grub2-mkconfig -o /boot/grub2/grub.cfg

reboot

节点加入k3s

 下载k3s二进制文件

wget https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s

运行命令

cp k3s /usr/local/bin

chmod +x /usr/local/bin/k3s

下载k3s可执行文件

https://rancher-mirror.rancher.cn/k3s/k3s-install.sh

chmod +x k3s-install.sh 

加入k3s

设置环境变量

export INSTALL_K3S_SKIP_DOWNLOAD=true

export K3S_TOKEN= master 获取token

export K3S_URL=https://192.168.1.99:6443

部署节点加入k3s服务

INSTALL_K3S_EXEC='--docker' ./k3s-install.sh

NODE 加入k3s

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.1.99:6443 K3S_TOKEN=master 获取的token sh -

 

kubectl get nodes

kubectl get pods -n kube-system

kubectl get svc

本地Image仓库管理+应用

Docker Harbor官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。

    1. 下载安装

wget harbor-offline-installer-v2.0.1.tgz

tar -zxvf harbor-offline-installer-v2.0.1.tgz

    1. 修改配置文件 默认域名、端口、密码登harbor.yml
    2. 目前没有使用https 模式没有调通,使用普通http模式

    1. 安装 ./install.sh 环境必须有 docker、docker-compose 支持

wget docker-compose-linux-x86_64

mv docker-compose-linux-x86_64 /usr/bin/docker-compose

chmod +x /usr/bin/docker-compose

./install.sh

    1. 安装成功后直接浏览器打开 http://192.168.1.99:9090   
    2. 默认用户  admin 密码  Harbor12345

    1. 根据文档命令使用即可

    1. 下载cutos 包(自己的应用包)

wget cutos-2.2.0.1.tar

    1. 导入到docker

docker load < cutos-2.2.0.1.tar

vim /etc/docker/daemon.json

添加代码

"insecure-registries":["192.168.1.99:9090"]

    1. 要通过docker tag 将该镜像标志为要推送到私有仓库

docker tag cutos:2.2.0.1 192.168.1.99:9090/sts/cutos:2.2.0.1

通过 docker push 命令将 cutos 镜像 push到私有仓库中先登录

docker login 192.168.1.99:9090

docker push 192.168.1.99:9090/sts/cutos:2.2.0.1

    1. 编辑自己的cutos-pod.yaml文件

    修改文件镜像地址:image: 192.168.1.99:9090/sts/cutos:2.2.0.1

kubectl apply -f cutos-pod.yaml

kubectl expose deployment sts-cutos --port=8080 --type=NodePort 

查看安装状态 kubectl get pod,svc -o wide(创建后需要等待一段时间如下图)

    1. 部署完毕 访问任意地址 http://192.168.1.99:30662 (IP:89、90) 显示如下图

      1. 部署dashboard(目前运行起来有点问题)

      2. 下载配置文件
        wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml
      3. vim recommended.yaml

        kind: Service

        apiVersion: v1

        metadata:

          labels:

            k8s-app: kubernetes-dashboard

          name: kubernetes-dashboard

          namespace: kubernetes-dashboard

        spec:

          type: NodePort

          ports:

            - port: 443

              targetPort: 8443

          selector:

            k8s-app: kubernetes-dashboard

      4. docker pull kubernetesui/dashboard:v2.0.0
      5. kubectl apply -f recommended.yaml
      6. kubectl get pods -n kube-system
      7. kubectl get all -n kubernetes-dashboard -o wide
      8. kubectl apply -f admin-user.yml
        apiVersion: v1
        
        kind: ServiceAccount
        
        metadata:
        
          name: admin-user
        
          namespace: kubernetes-dashboard

         
      9. kubectl apply -f admin-user-role.yml
        apiVersion: rbac.authorization.k8s.io/v1
        
        kind: ClusterRoleBinding
        
        metadata:
        
          name: admin-user
        
        roleRef:
        
          apiGroup: rbac.authorization.k8s.io
        
          kind: ClusterRole
        
          name: cluster-admin
        
        subjects:
        
        - kind: ServiceAccount
        
          name: admin-user
        
          namespace: kubernetes-dashboard
      10. kubectl create token admin-user -n kubernetes-dashboard

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值