k8s-部署

模拟集群——虚拟机

个人学习一般很少具备集群这样的条件,所以集群的模拟可以使用虚拟机进行模拟。windows和linux推荐virtualbox,mac 10.14貌似无法安装virtualbox,所以macos推荐使用Veertu(可以免费试用30天,试用完再卸载,或者30天内从入门到放弃)。

为了节省空间,镜像选择了centos7 mini,镜像文件1G左右。虚拟机安装系统需要注意一点就是网卡的设置,关于网卡设置可以参考virtualbox的网卡链接方式。下图是veertu的网卡设置。

image.png

系统安装好之后,首先检测是否可以上网ping www.baidu.com,发现无法ping通。可能是网络服务没有激活。

ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:00:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff

会看到ens3这样的信息,接下来去查看一下网卡配置。etc/sysconfig/network-scripts/ifcfg-ens3,其中ifcfg-ens3就是ens3的配置脚本,文件名一般是按照ifcfg-网卡名。可以看到ens3的配置为:

TYPE=Ethernet # 网卡类型为以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp # ip配置方式,使用dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens3 # 网卡名
UUID=816b229e-0946-477d-89a8-ea92f2841459
DEVICE=ens3 # 网卡设备名
ONBOOT=no # 启动时是否激活 yes|no

可以看到ONBOOT的值为no表示启动时不激活该网卡,所以centos开机后无法联网,只需要修改"ONBOOT=yes"即可。
配置文件修改好之后,我们需要重启网络服务,使用systemd来重启网络服务systemctl restart network,关于systemd可以参考阮一峰老师的文章。

etcd kubernetes

安装

在安装etcd, kubernetes之前要先安装rhsm,因为kubectl create -f xxx.yaml创建pod时候回去docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest,需要读取/etc/rhsm/ca/redhat-uep.pem文件,但是安装kubernetes时候会默认安装subscription-manager-rhsm-certificates.x86_64,这个包是python-rhsm-certificates.x86_64的替代品,所以安装的时候回卸载python-rhsm-certificates.x86_64。导致/etc/rhsm/ca/redhat-uep.pem这个文件一直不存在。但是通过yum install python-rhsm-certificates.x86_64安装时,会提示安装其替代品subscription-manager-rhsm-certificates.x86_64。所以需要手动安装:

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm # 下载安装包
rpm -ivh python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm # 安装
cd /etc/rhsm/ca/
cp redhat-uep.pem redhat-uep.pem.backup # 备份

安装之后需要备份一下,不然在安装kubernetes的时候会被自动卸载掉。接下来安装etcd,kubernetes:

yum install etcd kubernetes
cd /etc/rhsm/ca/
cp redhat-uep.pem.backup redhat-uep.pem # 恢复认证

启动服务

服务的启动也是基于systemd,所以了解systemd还是很有必要的。还不了解的看看阮一峰老师的文章。
启动服务是有顺序的:

systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-sheduler
systemctl start kubelet
systemctl start kube-proxy

未完待续 ....

你可能感兴趣的:(k8s-部署)