1.部署一台CentOS虚拟机,本次以最小化安装!
2.配置基本的网络,由于本次是最小化安装所以无法用命令行配置地址
命令行配置如下:
nmcli connection modify ens33 ipv4.addresses 192.168.115.115/24 ipv4.gateway 192.168.115.2 ipv4.dns 114.114.114.114 ipv4.method manual
本次切换目录下,更改网卡配置文件:
然后重启网卡:
systemctl restart network
3.测试网关和域名解析是否可以ping通,测试发现解析不了
[root@localhost ~]# ping wwww.baidu.com ping: wwww.baidu.com: 未知的名称或服务 [root@localhost ~]# ping alliyun.com ping: alliyun.com: 未知的名称或服务
配置解析文件即可完美解决:
[root@localhost ~]# vi /etc/resolv.conf [root@localhost ~]# cat /etc/resolv.conf nameserver 114.114.114.114 [root@localhost ~]# ping www.baidu.com PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data. 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 time=22.5 ms 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 time=23.2 ms ^C --- www.a.shifen.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 22.594/22.935/23.277/0.373 ms [root@localhost ~]# ping aliyun.com PING aliyun.com (106.11.249.99) 56(84) bytes of data. 64 bytes from 106.11.249.99 (106.11.249.99): icmp_seq=1 ttl=128 time=45.6 ms ^C --- aliyun.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 45.605/45.605/45.605/0.000 ms第二步:关闭自带防火墙
[root@localhost ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~]# systemctl stop firewalld [root@localhost ~]#第三步:设置yum源
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/CentOS-7.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2318 100 2318 0 0 15882 0 --:--:-- --:--:-- --:--:-- 15986
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2081 100 2081 0 0 18454 0 --:--:-- --:--:-- --:--:-- 18580
[root@localhost yum.repos.d]# cat < /etc/yum.repos.d/kubernetes.repo
> [kubernetes]
> name=kubernetes
> baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
> enabled=1
> gpgcheck=0
> repo_gpgcheck=0
> gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
> http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
> EOF
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum repolist
已加载插件:fastestmirror
Repository 'kubernetes': Error parsing config: Error parsing "gpgcheck = 'http://mirrors.aliyum.com/kubernetes/yum/doc/yum-key.gpgnhttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg'": invalid boolean value
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/6): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/6): docker-ce-stable/7/x86_64/updateinfo | 55 B 00:00:00
(3/6): docker-ce-stable/7/x86_64/primary_db | 70 kB 00:00:00
(4/6): extras/7/x86_64/primary_db | 243 kB 00:00:00
(5/6): updates/7/x86_64/primary_db | 13 MB 00:00:01
base/7/x86_64/primary_db FAILED
http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(6/6): base/7/x86_64/primary_db | 6.1 MB 00:00:00
源标识 源名称 状态
base/7/x86_64 CentOS-7 - base - mirrors.aliyun.com 10,072
docker-ce-stable/7/x86_64 Docker CE Stable - x86_64 139
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 500
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 3,190
repolist: 13,901
第四步:安装相关软件
安装etcd kubernetes(docker也会被安装)
[root@localhost ~]# yum -y install etcd Downloading packages: etcd-3.3.11-2.el7.centos.x86_64.rpm | 10 MB 00:00:02 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : etcd-3.3.11-2.el7.centos.x86_64 1/1 验证中 : etcd-3.3.11-2.el7.centos.x86_64 1/1 已安装: etcd.x86_64 0:3.3.11-2.el7.centos 完毕! [root@localhost ~]# yum -y install kubernetes kubernetes x86_64 1.5.2-0.7.git269f928.el7 extras 36 k 为依赖而安装: PyYAML x86_64 3.10-11.el7 base 153 k atomic-registries x86_64 1:1.22.1-33.gitb507039.el7_8 extras 36 k audit-libs-python x86_64 2.8.5-4.el7 base 76 k checkpolicy x86_64 2.5-8.el7 base 295 k conntrack-tools x86_64 1.4.4-7.el7 base 187 k container-selinux noarch 2:2.119.2-1.911c772.el7_8 extras 40 k container-storage-setup noarch 0.11.0-2.git5eaf76c.el7 extras 35 k containers-common x86_64 1:0.1.40-11.el7_8 extras 43 k docker x86_64 2:1.13.1-208.git7d71120.el7_9 extras 17 M docker-client x86_64 2:1.13.1-208.git7d71120.el7_9 extras 3.9 M docker-common x86_64 2:1.13.1-208.git7d71120.el7_9 extras 101 k fuse-overlayfs x86_64 0.7.2-6.el7_8 extras 54 k fuse3-libs x86_64 3.6.1-4.el7 extras 82 k kubernetes-client x86_64 1.5.2-0.7.git269f928.el7 extras 14 M kubernetes-master x86_64 1.5.2-0.7.git269f928.el7 extras 25 M kubernetes-node x86_64 1.5.2-0.7.git269f928.el7 extras 14 M libcgroup x86_64 0.41-21.el7 base 66 k libnetfilter_cthelper x86_64 1.0.0-11.el7 base 18 k libnetfilter_cttimeout x86_64 1.0.0-7.el7 base 18 k libnetfilter_queue x86_64 1.0.2-2.el7_2 base 23 k libnl x86_64 1.1.4-3.el7 base 128 k libsemanage-python x86_64 2.5-14.el7 base 113 k libyaml x86_64 0.1.4-11.el7_0 base 55 k oci-register-machine x86_64 1:0-6.git2b44233.el7 extras 1.1 M oci-systemd-hook x86_64 1:0.2.0-1.git05e6923.el7_6 extras 34 k oci-umount x86_64 2:2.5-3.el7 extras 33 k policycoreutils-python x86_64 2.5-34.el7 base 457 k python-IPy noarch 0.75-6.el7 base 32 k python-backports x86_64 1.0-8.el7 base 5.8 k python-backports-ssl_match_hostname noarch 3.5.0.1-1.el7 base 13 k python-dateutil noarch 1.5-7.el7 base 85 k python-dmidecode x86_64 3.12.2-4.el7 base 83 k python-ethtool x86_64 0.8-8.el7 base 34 k python-inotify noarch 0.9.4-4.el7 base 49 k python-ipaddress noarch 1.0.16-2.el7 base 34 k python-pytoml noarch 0.1.14-1.git7dea353.el7 extras 18 k python-setuptools noarch 0.9.8-7.el7 base 397 k python-syspurpose x86_64 1.24.50-1.el7.centos updates 275 k setools-libs x86_64 3.3.8-4.el7 base 620 k slirp4netns x86_64 0.4.3-4.el7_8 extras 81 k socat x86_64 1.7.3.2-2.el7 base 290 k subscription-manager x86_64 1.24.50-1.el7.centos updates 1.1 M subscription-manager-rhsm x86_64 1.24.50-1.el7.centos updates 333 k subscription-manager-rhsm-certificates x86_64 1.24.50-1.el7.centos updates 237 k usermode x86_64 1.111-6.el7 base 193 k yajl x86_64 2.0.4-4.el7 base 39 k 为依赖而更新: audit x86_64 2.8.5-4.el7 base 256 k audit-libs x86_64 2.8.5-4.el7 base 102 k policycoreutils x86_64 2.5-34.el7 base 917 k第五步,启动相关的服务(按顺序喔)
etcd:分布式键值存储,用来保存数据
docker(容器)
kube-apiserver:验证并配置api对象的数据,包括pods、services、replicationcontrollers等
kube-controller-manager:控制管理器,守护进程,所有资源的自动化控制中心
kube-scheduler:调度器是一个控制面进程,负责将 Pods 指派到节点上
kubelet: 是在每个 Node 节点上运行的主要 “节点代理”,用于处理Master下发到本节点的任务,管理Pod及Pod中的容器。每个kubelet进程都会在API Server上注册节点自身的信息,定期向Master汇报节点资源的使用情况,并通过cAdvisor监控容器和节点资源
kube-proxy:是 kubernetes 工作节点上的一个网络代理组件,运行在每个节点上。作用是使发往 Service 的流量(通过ClusterIP和端口)负载均衡到正确的后端Pod
注:如果是多节点,master上启动的服务有etcd,kube-apiserver,kube-controller-manager,kube-scheduler;node节点上启动kubelet, kube-proxy,docker engine
[root@localhost ~]# systemctl enable etcd && systemctl start etcd Created symlink from /etc/systemd/system/multi-user.target.wants/etcd.service to /usr/lib/systemd/system/etcd.service. [root@localhost ~]# systemctl enable docker && systemctl start docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. [root@localhost ~]# systemctl enable kube-apiserver && systemctl start kube-apiserver Created symlink from /etc/systemd/system/multi-user.target.wants/kube-apiserver.service to /usr/lib/systemd/system/kube-apiserver.service. [root@localhost ~]# systemctl enable kube-controller-manager && systemctl start kube-controller-manager Created symlink from /etc/systemd/system/multi-user.target.wants/kube-controller-manager.service to /usr/lib/systemd/system/kube-controller-manager.service. [root@localhost ~]# systemctl enable kube-scheduler && systemctl start kube-scheduler Created symlink from /etc/systemd/system/multi-user.target.wants/kube-scheduler.service to /usr/lib/systemd/system/kube-scheduler.service. [root@localhost ~]# systemctl enable kubelet && systemctl start kubelet Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service. [root@localhost ~]# systemctl enable kube-proxy && systemctl start kube-proxy Created symlink from /etc/systemd/system/multi-user.target.wants/kube-proxy.service to /usr/lib/systemd/system/kube-proxy.service.



