K8s安装
环境说明
Centos 7.X 64位
安装步骤
(1)准备一台虚拟机(干净的,不需要安装其他的任何东西)
(2)设置静态ip(能上网,因为是在线安装)
(3)把install-k8s.sh的脚本文件拷贝到虚拟机中任意目录下。脚本文件内容如下:
#!/bin/sh
# ----------------------------------------
# k8s单机版一键安装脚本
# author wangll
# date 2019-08-11
# 执行本脚本时如果报错:找不到解释器,执行:sed -i 's/\r$//' install-k8s.sh
# 参考:https://www.missshi.cn/api/view/blog/5b0e8af013d85b22bc000001
# ----------------------------------------
# 1 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
# 2 禁用SELINUX
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# 3 升级yum
yum -y update
# 4 安装etcd和Kubernetes(自动附带安装Docker)
yum install -y etcd kubernetes
# 5 修改/etc/sysconfig/docker文件。修改OPTIONS的内容为:
sed -i "s/--selinux-enabled --log-driver=journald --signature-verification=false/--selinux-enabled=false --insecure-registry gcr.io/g" /etc/sysconfig/docker
# 6 修改/etc/kubernetes/apiserver文件。修改KUBE_ADMISSION_CONTROL的内容为:
sed -i "s/--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota/--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota/g" /etc/kubernetes/apiserver
# 7 依次启动下列服务:
systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy
# 8 解决创建的pod一直是ContainerCreating状态,ready数一直为0的问题。参考:https://blog.csdn.net/qq_38695182/article/details/82971114
yum install -y *rhsm*
yum install -y wget
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
rm -rf python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
# 9 设置允许转发,否则会造成“服务都已经启动好了,但是外界无法访问”。参考https://blog.csdn.net/weixin_38698322/article/details/91155594
iptables -P FORWARD ACCEPT
(4)把该文件变为可执行文件,直接执行如下命令
chmod +x install-k8s.sh
1
(5)使用 ./install-k8s.sh 执行脚本时,应该会报“找不到解释器”,执行下述命令,然后再运行脚本
sed -i 's/\r$//' install-k8s.sh
1
(6)脚本执行会特别慢,一直等着就行。
dashboard安装
其中遇到了
问题:
kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Fail
解决方案:
在cat /etc/kubernetes/kubelet 配置文件中添加如下内容即可
KUBE_ARGS="--cluster-dns=10.0.0.110 --cluster-domain=cluster.local"
重启 systemctl daemon-reload; systemctl restart kubelet 即可
参考地址:
https://blog.csdn.net/ljx1528/article/details/81437106
DashBoard单击安装参考地址
https://www.cnblogs.com/saneri/p/9020351.html