使用yum-config-manager命令,需要部署:
yum -y install yum-utils
加载docker repo
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
选择版本
yum list docker-ce --showduplicates | sort -r
安装docker
yum install docker-ce-18.06.1.ce
检查docker版本
docker --version
启动
systemctl start docker
设置Docker开机自启
systemctl enable docker
K8s 启用bridge-nf-call-iptables内核参数
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
检查
cat /proc/sys/net/bridge/bridge-nf-call-iptables
ssh-keygen -t rsa
若依然出现需要输入密码,则检查日志或者权限: cat /var/log/secure
chmod 755 /root
chmod 700 /root/.ssh
chmod 600 ~/.ssh/authorized_keys
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
https://github.com/rancher/rke/releases
mv rke_linux-amd64 rke
chmod +x rke
ln -s rke /usr/bin/rke
==> mkdir /home/rancher/opt
cp rke /home/rancher/opt
cd /usr/bin
rm -f rke
ln -s /home/rancher/opt/rke rke
vim rancher-cluster.yml
nodes:
- address: 11.11.17.17
internal_address: 192.168.0.22
user: root
role: [controlplane, worker, etcd]
- address: 11.11.20.49
internal_address: 192.168.0.60
user: root
role: [controlplane, worker, etcd]
- address: 11.11.20.21
internal_address: 192.168.0.18
user: root
role: [controlplane, worker, etcd]
services:
etcd:
snapshot: true
creation: 6h
retention: 24h
# Required for external TLS termination with
# ingress-nginx v0.22+
ingress:
provider: nginx
options:
use-forwarded-headers: "true"
rke up --config rancher-cluster.yml
问题1:
WARN[0000] Failed to set up SSH tunneling for host [11.11.21.21]: Can't retrieve Docker Info
1.vim /etc/ssh/sshd_config
AllowTcpForwarding yes
不行
2.创建用户rancher,密码同用户名
在rancher用户下执行,不行
总结:节点之间的通讯问题
问题2:
Error: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
修改.ssh 权限744 :chmod 744 .ssh
chmod 600 authorized_keys
不行
重新ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
不行
usermod rancher -G docker
修改yml文件, 将user: rancher
打开端口6443
cd /opt
rm -f rke
重新执行: rke up --config yml
打开端口10248
问题3:runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
出现问题的节点是11.11.21.21
1.将此节点移除,成功
2.检查此节点配置,发现没有配置echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf
不行,对系统进行设置
安装必要软件包
yum -y install lrzsz vim gcc glibc openssl openssl-devel net-tools wget curl【没有安装glibc】
关闭selinux 已做
setenforce 0 # 临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭
检查/etc/hosts
注释掉192.168.0.181 localhost
不行
总结:节点之间的通讯问题
vi ~/.bashrc
+
export KUBECONFIG=/home/rancher/kube_config_cluster.yml
source ~/.bashrc
用 kubectl 测试你的连接性,并查看你的所有节点是否都处于 Ready 状态:
kubectl get nodes
检查集群 Pod 的健康状况
kubectl get pods --all-namespaces
配置文件备份:
cluster.yml:RKE 集群配置文件。
kube_config_cluster.yml:集群的 Kubeconfig 文件。该文件包含可完全访问集群的凭证。
rancher-cluster.rkestate:Kubernetes 状态文件。此文件包括用于完全访问集群的凭证。