本帖最后由 会飞的小老虎1 于 2019-3-21 09:45 编辑
Ubuntu18.04安装K8s步骤以及其中的坑
环境信息
名称 | 版本 | Docker | 18.09.3 | 操作系统 | ubuntu18.04 | k8s | v1.13.4 |
机器信息
IP | 作用 | 硬件要求 | 192.168.207.131 | Master | 2G双核(至少双核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
|