K8S离线部署--自用

部署包就不往上面放了。
自用。

  • 解压 kubespraypd_offline_v1.18.8.tar.gz 得到kubespraypd
  • 挂载 mount /dev/sr0 /root/kubespraypd/downloads/centos #centos文件夹需创建 mkdir /root/kubespraypd/downloads/centos

环境:
192.168.0.110/k8s1(作为k8s master用)
192.168.0.111/k8s2(作为k8s worknode 用)

配置kubespraypd

1. 设置本地源

  • [root@k8s1 ~]# vim /etc/yum.repos.d/k8.repo
[k81]
name=k8
baseurl=file:///root/kubespraypd/downloads/centos
enabled=1
gpgcheck=0

[k82]
name=k82
baseurl=file:///root/kubespraypd/downloads/rpms
enabled=1
gpgcheck=0

2. 配置文件config

只修改 Settings for OFFLINE 项
我用的是方法二

[root@k8s1 ~]# vim /root/kubespraypd/config

########################
# Settings for OFFLINE
########################
offline_server_host=192.168.0.110	# ansible controller ip地址
offline_server_http_repo_port=8001	# http repo 端口
offline_server_docker_registry_port=5000	# docker registry 端口
offline_server_docker_registry_data=/data/registry	# 数据存放目录
offline_server_docker_data_root=/data/var/lib/docker	# 数据存放目录
external_centos_base_repo_enable=true
external_centos_base_repo_url="file:///root/kubespraypd/downloads/centos"

方法1 centos base repo默认使用${project_base_dir}/downloads/centos,需要挂载系统对应版本iso,把文件拷贝到这个目录下面
external_centos_base_repo_enable=false #开启外部的cetnos base repo
external_centos_base_repo_url=http://192.168.101.12:8001/centos/Packages


方法2
挂载镜像到 /root/kubespraypd/downloads/centos
yum repo 设置镜像源:file:///root/kubespraypd/downloads/centos
external_centos_base_repo_enable=true
external_centos_base_repo_url=”file:///root/kubespraypd/downloads/centos”


方法3 或者使用客户提供的centos base repo,将external_centos_base_repo_enable 改为true,external_centos_base_repo_url写上url


3. 安装kubespray

  1. 安装docker yum -y install docker-ce
  2. 权限 chmod +x kubespraypd
  3. 执行 ./kubespraypd setup

setup后nginx跳过属正常
安装docker-ce(如不安装的话, setup 后 docker安装那里会出错。)
Setup 成功会
在这里插入图片描述

  • 可以访问 192.168.0.110:8001
    在这里插入图片描述

使用kubespray安装kubernetes集群

  • kubespray安装成功后,原yum源会自动删除,并新创建2个repo。
CentOS-External.repo		
kubespraypd.repo

1. 免密

  • Ansible controller免密登陆到集群内所有机器
Ssh-keygen	#生成秘钥
Ssh-copy-id root@192.168.0.111	#秘钥发送给111

sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
UseDNS no	#修改UseDNS no 加速ssh

2. 同步repo

  • 把master 2个yum源(Centos、kubespraypd)同步给所有节点并修改。
[root@k8s1 ~]# cd /etc/yum.repos.d/
[root@k8s1 yum.repos.d]# scp CentOS-External.repo kubespraypd.repo root@192.168.0.111:/etc/yum.repos.d/
[root@k8s1 ~]# ssh 192.168.0.111

[root@k8s2 ~]# cd /etc/yum.repos.d/
[root@k8s2 yum.repos.d]# vim CentOS-External.repo
baseurl=http://192.168.0.110:8001/centos

[root@k8s2 ~]# vim kubespraypd.repo
baseurl=http://192.168.0.110:8001/rpms

3. 查看DNS

  • 所有节点都要设置
vim /etc/resolv.conf
nameserver=114.114.114.114 

4. 修改env.yml

  • 在原- "192.168.0.110:5000" 下增加两条
[root@k8s1 ~]# cd /root/kubespraypd/
[root@k8s1 kubespraypd]# Vim  downloads/kubespray/env.yml 
docker_insecure_registries:
  - "192.168.0.110:5000"
  - "192.168.0.110:30002"
  - "192.168.0.110:30003"

5. 修改inventory.ini

[root@k8s1 ~]# cd /root/kubespraypd/
[root@k8s1 kubespraypd]# vim downloads/kubespray/inventory/sample/inventory.ini
[all] #添加所有主机名和IP
k8s1 ansible_host=192.168.0.110  ip=192.168.0.110 etcd_member_name=etcd1
k8s2 ansible_host=192.168.0.111  ip=192.168.0.111

[kube-master]#添加所有主机名
k8s1
k8s2

[etcd]#添加主master
k8s1

[kube-node]#添加所有主机名
k8s1
k8s2

6. 安装

[root@k8s1 ~]# source ~/.bashrc
[root@k8s1 ~]# cd kubespraypd/downloads/kubespray/
[root@k8s1 kubespray]# ansible-playbook -i inventory/sample/inventory.ini -e @env.yml cluster.yml
  • ansible安装过程只要没有报红,就OK。

在这里插入图片描述

7. 验证

[root@ak8s1 ~]# kubectl get pods -n kube-system
NAME                                          READY   STATUS    RESTARTS   AGE
calico-kube-controllers-5db48c5db5-2st27      1/1     Running   0          96m
calico-node-5s22v                             1/1     Running   1          98m
calico-node-9rqfn                             1/1     Running   1          98m
coredns-6dd5fdddfb-jv7vf                      1/1     Running   0          94m
coredns-6dd5fdddfb-n8p6c                      1/1     Running   0          94m
dns-autoscaler-644f8c848-t5nfl                1/1     Running   0          94m
kube-apiserver-arksec1                        1/1     Running   0          104m
kube-apiserver-arksec2                        1/1     Running   0          102m
kube-controller-manager-arksec1               1/1     Running   0          104m
kube-controller-manager-arksec2               1/1     Running   0          102m
kube-proxy-h496m                              1/1     Running   0          104m
kube-proxy-sfdwn                              1/1     Running   0          102m
kube-scheduler-arksec1                        1/1     Running   0          104m
kube-scheduler-arksec2                        1/1     Running   0          102m
kubernetes-dashboard-785d576f7d-mlvcg         1/1     Running   0          94m
kubernetes-metrics-scraper-7dcc695db7-2p48f   1/1     Running   0          94m
nodelocaldns-dcxp5                            1/1     Running   0          94m
nodelocaldns-scc2l                            1/1     Running   0          94m
  • 全部Running。完成~
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶伯爵式

大爷~您看着给~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值