当前位置:   article > 正文

Kubenets 123_nets123 cn

nets123 cn

安装kubernets环境破费周折,特此记录整个过程

第一步: VirtualBox安装CentOS7 64系统。用什么环境无所谓
(1)系统下载地址如下。下载CentOS-7-x86_64-Minimal-1908.iso就可以,DVD或者Everything太大了,用不着
http://mirrors.aliyun.com/centos/7/isos/x86_64/
(2)安装完成后,用系统账号登录进去,网络不通,我的机器上是,需要手动把网络配置修改为桥接模式,如下图。配置修改后重启机器。
在这里插入图片描述
(3)再次登录进去,执行命令dhclient 为本机动态分配一个ip地址,发现这个ip地址跟宿主机是一个号段的,先不管只要能访问网络就行。执行ip addr命令就可以看到分配的地址了。配置启动自动化获取IP地址,修改文件/etc/sysconfig/network-scripts/ifcfg-enp0s3设置里面的ONBOOT=yes
(4)yum镜像配置。默认官方的软件仓库,在国内使用太慢了,国内的镜像地址可选择性很多。具体替换镜像的方式如下:

# 1. 进入yum仓库配置未知
cd /etc/yum.repos.d/
# 2. 备份官方镜像
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 3. 下载163镜像文件。如果发现wget命令没有安装,使用yum install wget先安装wget
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 4. 生成缓存
yum makecache
# 5. update一下
yum -y update
# OK Done。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

使用阿里云的镜像也是一样的,把上面的第3不下载163镜像换成下载阿里云镜像既可以。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

至此虚拟机已经安装完毕。

二、安装Docker
官方教程在此教程关键步骤摘录于此

# 安装必须依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置docker稳定版仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
# 设置docker 开机启动,并启动docker
sudo systemctl enable docker && systemctl start docker
# 测试hello_world镜像
sudo docker run hello-world
# 你会发现上面需要login,没有什么好说的,使用自己在https://hub.docker.com上注册的账号和地址即可
docker login
# 再次测试hello-wold
sudo docker run hello-world
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

已经安装完成,但是在测试hello-world时会发现特别慢,时因为docker的官方仓库在国内访问同样是非常慢的,因此我们也需要绑定国内的镜像。国内的镜像有http://hub-mirror.c.163.com https://registry.docker-cn.com 以及阿里云的https://xxxxxx.mirror.aliyuncs.com阿里云的配置参考配置阿里云私有镜像加速器

# 配置镜像地址
echo '{
 "registry-mirrors":["http://hub-mirror.c.163.com"]
}' > /etc/docker/daemon.json
# 配置之后重启docker
systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、安装kubernetes Master以v1.14.2为例。因为学习是使用的是《Kubernets权威指南(第四版)》
(1)安装kubeadmin和相关工具

# 配置国内阿里云kubernets镜像
cd /etc/yum.repos.d/
touch kubernetes.repo
# 将下面的内容复制到kubernetes.repo文件中
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
enabled=1
# 安装 kubelet kubeadm kubectl
yum install -y kubelet-1.14.2 kubeadm-1.14.2 kubectl-1.14.2 --disableexcludes=kubernetes
# 启动kubelet
systemctl enable kubelet && systemctl start kubelet
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

(2)下载kubernets镜像
注意配置文件中的imageRepository, 我使用的是阿里云的镜像,不指定这个参数会使用谷歌的k8s.gcr.io,在国内无法使用

# 构造配置文件如下
touch init-config.yaml
#文件内容如下,请自行复制
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
imageRepository: registry.aliyuncs.com/google_containers
kubernetesVersion: v1.14.0
networking:
  podSubnet: "192.168.0.0/16"

# 下载镜像
kubeadm config images pull --config=init-config.yaml
# 会下载得到如下镜像
docker images
REPOSITORY                                                        TAG                 IMAGE ID            CREATED             SIZE
registry.aliyuncs.com/google_containers/kube-proxy                v1.14.0             5cd54e388aba        8 months ago        82.1MB
registry.aliyuncs.com/google_containers/kube-scheduler            v1.14.0             00638a24688b        8 months ago        81.6MB
registry.aliyuncs.com/google_containers/kube-apiserver            v1.14.0             ecf910f40d6e        8 months ago        210MB
registry.aliyuncs.com/google_containers/kube-controller-manager   v1.14.0             b95b1efa0436        8 months ago        158MB
registry.aliyuncs.com/google_containers/coredns                   1.3.1               eb516548c180        10 months ago       40.3MB
hello-world                                                       latest              fce289e99eb9        11 months ago       1.84kB
registry.aliyuncs.com/google_containers/etcd                      3.3.10              2c4adeb21b4f        12 months ago       258MB
registry.aliyuncs.com/google_containers/pause                     3.1                 da86e6ba6ca1        23 months ago       742kB
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

(3) 初始化Master

# 初始化, 仍然使用下载镜像是创建的配置文件
kubeadm init --config=init-config.yaml
  • 1
  • 2

等待安装安装成功后,会打印如下信息。得到如下截图后,说明Master安装完成,接着安装Node,并加入到Master。
在这里插入图片描述
(4)安装Node
重新配置一台虚拟机,安装docker, 以及kublet, kubeadm工具。一切准备工作完成后,开始如下的流程将Node加入到Master中

# 启动docker和kubelet 并配置开机启动
sudo systemctl enable docker && systemctl start docker
systemctl enable kubelet && systemctl start kubelet
  • 1
  • 2
  • 3

join到master

# 创建配置文件, join-config.yaml,内容如下。其中ip地址是刚刚启动成功的Master的地址
apiVersion: kubeadm.k8s.io/v1beta1
kind: JoinConfiguration
discovery:
  bootstrapToken:
    apiServerEndpoint: 192.168.*.*:6443
    token: 6ch5h1.u7527dh7nqzeqz32
    unsafeSkipCAVerification: true
  tlsBootstrapToken: 6ch5h1.u7527dh7nqzeqz32

#join, 执行如下命令
kubeadm join --config=join-config.yaml
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

执行之后会得到如下图的显示
在这里插入图片描述
但很大的可能是执行上面的join命令后,一直卡着,说明Master机器上有防火墙,可以上Master机器将防火墙关闭,再执行join命令。centos防火墙配置

# 关闭防火墙
systemctl stop firewalld
# 也可以吧6443的端口加入防火墙,然后重新加载防火墙配置
firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --reload
  • 1
  • 2
  • 3
  • 4
  • 5

(5) 安装CNI网络插件

# 执行如下命令
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 |tr -d '\n')"
  • 1
  • 2

(6) 验证是否安装成功

kubectl get pods --all-namespaces

  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/915604
推荐阅读
相关标签
  

闽ICP备14008679号