目录
部署包就不往上面放了。
自用。。
- 解压 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
- 安装docker
yum -y install docker-ce
- 权限
chmod +x kubespraypd
- 执行
./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。完成~