A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 会飞的小老虎1 于 2019-3-21 09:45 编辑

Ubuntu18.04安装K8s步骤以及其中的坑
环境信息
名称
版本
Docker 18.09.3
操作系统 ubuntu18.04
k8s v1.13.4

机器信息
IP 作用 硬件要求
192.168.207.131 Master2G双核(至少双核cpu)
192.168.207.128 node 2G双核(至少双核cpu)
192.168.207.129 node 2G双核(至少双核cpu)
安装步骤
系统配置修改
禁用swap
[Shell] 纯文本查看 复制代码
swapoff -a
关闭防火墙
[AppleScript] 纯文本查看 复制代码
systemctl stop firewalld
systemctl disable firewalld

分别在Master和所有node上安装docker(使用阿里源安装速度更快)
[Shell] 纯文本查看 复制代码
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

配置阿里镜像仓库为docker加速
参考链接:https://help.aliyun.com/document_detail/60750.html?spm=a2c4g.11186623.6.545.OY7haW讲docker设置为开机自启
[AppleScript] 纯文本查看 复制代码
/lib/systemd/systemd-sysv-install enable docker

[Shell] 纯文本查看 复制代码
# 重启docker
systemctl restart docker

安装kubectl,kubelet,kubeadm
1.添加秘钥
[AppleScript] 纯文本查看 复制代码
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

2.添加kubernetes软件源
[AppleScript] 纯文本查看 复制代码
vim /etc/apt/sources.list.d/kubernetes.list

写入一下内容
[AppleScript] 纯文本查看 复制代码
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main

配置Master节点
[AppleScript] 纯文本查看 复制代码
kubeadm init --kubernetes-version=1.13.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap

--pod-network-cidr是指配置节点中的pod的可用IP地址,此为内部IP
--kubernetes-version 通过kubectl version 可以查看到

安装flannel网络插件
[AppleScript] 纯文本查看 复制代码
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

出现bug并解决
[AppleScript] 纯文本查看 复制代码
root@ubuntu-server:/home/tiger# kubectl get nodes
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
[AppleScript] 纯文本查看 复制代码
export KUBECONFIG=/etc/kubernetes/kubelet.conf

配置node节点在node节点服务器上执行
[AppleScript] 纯文本查看 复制代码
kubeadm join 192.168.207.131 --token h7u22o.nk23ias5f1ft8hj9 --discovery-token-ca-cert-hash sha256:9f93785608c9a9de3e5d74e9ed30b8302691abfee7efd946a8c1b80d8582fe92
[AppleScript] 纯文本查看 复制代码
kubectl get pod -o wide

在master上查看节点运行状态

[AppleScript] 纯文本查看 复制代码
kubectel get nodes


注意node节点上同样docker pull指定镜像并做docker tag处理
尝试使用k8s部署nginx
[AppleScript] 纯文本查看 复制代码
kubectk run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1

查看nginx运行状态
[AppleScript] 纯文本查看 复制代码
kubectl get pod -o wide

根据现实的ip, 尝试在其他节点访问nginx

总结:之前在尝试过程中遇到init的失败的坑,可以参考个这个解决方案:https://blog.51cto.com/ting2junshui/2151691

pods.png (13.39 KB, 下载次数: 18)

pods.png

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马