Kubernetes入门
![](https://img.haomeiwen.com/i1271438/1b4cd88797188d73.png)
kubernetes setup doc
https://github.com/xander-ye/k8s_demo
环境准备
练习环境采用VirtualBox运行ubuntu18.04,有现成机器此环节可略过
1、新建虚拟电脑
2、设置》系统》cpu 2,内存2G(k8s最低要求)
3、下载Ubuntu Server 18.04 LTS,设置》存储》没有盘片》分配光驱,
选择刚刚下载的ubuntu镜像文件
4、启动,初次注意勾选安装sshd
5、配置网络:在VertualBox中,将虚拟机网络设置为桥接模式;参考宿主机网络信息,
修改虚拟机文件cat /etc/netplan/50-cloud-init.yaml
,然后 netplan apply
network:
ethernets:
enp0s3:
addresses: [172.16.7.101/21] # [ip/子网掩码]
gateway4: 172.16.0.1 # 网关
dhcp4: no # 是否动态获取ip
nameservers:
addresses: [114.114.114.114] # dns
version: 2
6、安装docker apt-get install -y docker.io
安装k8s(阿里云源)
- 添加软件包密钥(apt-key)
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg --output /etc/apt/trusted.gpg.d/apt-key.gpg
- 添加源
# /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
- 安装
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
k8s config images
k8s.gcr.io被屏蔽,导致在使用k8s相关的镜像资源时无法获取,有两种方式解决
方法一、通过github仓库定义相应的Dockerfile,FROM相应的k8s镜像来构建
- 查看k8s版本:
kubectl version
, 然后执行kubeadm config images list --kubernetes-version v1.13.1
k8s.gcr.io/kube-apiserver:v1.13.1
k8s.gcr.io/kube-controller-manager:v1.13.1
k8s.gcr.io/kube-scheduler:v1.13.1
k8s.gcr.io/kube-proxy:v1.13.1
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.6
-
修改以上镜像所对应的Dockerfile,然后提交代码(在此之前需要在Dockerhub镜像仓库关联github仓库)
-
将对应的镜像拉到本地重新tag成k8s所要求的名字即可
方法二、在可翻墙机器执行k8s_img_push.sh,在k8s master执行k8s_img_pull.sh即可
创建集群
1、确认机器开放端口
master节点开放端口
规则 | 方向 | 端口范围 | 作用 | 使用者 |
---|---|---|---|---|
TCP | Inbound | 6443* | Kubernetes API server | All |
TCP | Inbound | 2379-2380 | etcd server client API | kube-apiserver, etcd |
TCP | Inbound | 10250 | Kubelet API | Self, Control plane |
TCP | Inbound | 10251 | kube-scheduler | Self |
TCP | Inbound | 10252 | kube-controller-manager | Self |
node节点开放端口
规则 | 方向 | 端口范围 | 作用 | 使用者 |
---|---|---|---|---|
TCP | Inbound | 10250 | Kubelet API | Self, Control plane |
TCP | Inbound | 30000-32767 | NodePort Services** | All |
2、启动
kubeadm init --pod-network-cidr=
(未完待续。。。)