kubernetes部署杂记
- 基于系统ubuntu 19
- 简记:
- master,node:安装kubelet,kubeadm,docker,kubectl(node可不装)
1
2
3
4
5kubelet:运行在每个节点上的主要的“节点代理”,它按照 PodSpec 中的描述工作
kubeadm:快速创建和加入集群的工具
kubectl:是Kubernetes 的命令行工具(CLI),是Kubernetes 用户和管理员必备的管理工具。kubectl提供了大量的子命令,方便管理Kubernetes集群中的各种功能。 - master:kubeadm init(初始化集群)
- nodes:kubeadm join(加入集群)
- master,node:安装kubelet,kubeadm,docker,kubectl(node可不装)
安装https支持
1
apt install apt-transport-https ca-certificates curl software-properties-common
加载docker key
1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
加载docker源
1 |
|
加载kubernetes key
1
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
加载kubernetes 源
1
2
3cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
刷新源
1
apt update
基础环境部署
1
2apt install docker-ce kubelet kubeadm kubectl
systemctl enable docker kubelet
查询需要的镜像
1
kubeadm config images list
编写shell脚本,通过docker拉取镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#!/bin/bash
images="
kube-apiserver:v1.17.0
kube-controller-manager:v1.17.0
kube-scheduler:v1.17.0
kube-proxy:v1.17.0
pause:3.1
etcd:3.4.3-0
coredns:1.6.5
"
for imageName in ${images} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
done
初始化集群
1
kubeadm init
初始化参数示例
1
kubeadm init --pod-network-cidr=10.10.0.0/16 --service-cidr=10.100.0.0/16
加入集群示例
1
kubeadm join ip:port --token <token> --discovery-token-ca-cert-hash <cert>
获取集群当前token(token有效期为24小时)
1
kubeadm token list
获取当前节点证书加密字符
1
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
kubectl get cs 查看核心组件健康状态
kubectl get nodes 获取节点状态信息
kubectl get pods -n kube-system 获取pod信息,-n指定名称空间
kubectl get ns 获取名称空间
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!