rancher部署与使用

1. 环境准备

1.1 安装docker


使用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

1.2 系统参数设置


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

1.3 免密设置

ssh-keygen -t rsa
若依然出现需要输入密码,则检查日志或者权限: cat /var/log/secure 
chmod 755 /root
chmod 700 /root/.ssh 
chmod 600 ~/.ssh/authorized_keys


2. 部署k8s集群

2.1 安装cubectl


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

2.2 安装RKE


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

2.3 创建集群配置文件


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"
    


2.4 运行 RKE


rke up --config rancher-cluster.yml

3. 问题汇总

问题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
不行

总结:节点之间的通讯问题


4. 测试集群


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 状态文件。此文件包括用于完全访问集群的凭证。


 

你可能感兴趣的:(docker,kubernetes,容器)