我命由我,不由天!


  • 搜索
prometheus docker golang linux kubernetes

ubuntu安装k8s

发表于 2020-11-07 | 分类于 kubernetes | 0 | 阅读次数 723

有多台节点的,先配置hosts文件能通信,血的教训!!!!

hostname # 查看本机
hosts文件写上对应ip 和 名称

1.docker成功运行后配置k8s的更新源,推荐阿里云:

echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo gpg --keyserver keyserver.ubuntu.com --recv-keys BA07F4FB #对安装包进行签名
sudo gpg --export --armor BA07F4FB | sudo apt-key add -
sudo apt-get update

2.关闭虚拟内存

1.sudo swapoff -a #暂时关闭
2.vim /etc/fstab #永久关闭,注释掉swap那一行,推荐永久关闭,需重启,不需要重启的方法没找到

3.安装最新版的k8s:

apt-get install kubeadm=1.18.1-00
apt-get install kubelet=1.18.1-00
apt-get install kubectl=1.18.1-00
# 这里的版本号需要和下面Init的版本对应,不然有可能出现问题

4.其中kubeadm用于初始化环境,kubectl用于操作kubelet。 设置开机启动:

sudo systemctl enable kubelet && systemctl start kubelet

5.使用kubeadm init进行初始化操作:

kubeadm init \
  --apiserver-advertise-address=172.16.21.235 \
  --image-repository registry.aliyuncs.com/google_containers  \
  --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.18.1
# 指定版本是因为,阿里云上有可能没有最新的镜像源

6.按照提示信息操作,注意切换到普通用户

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

7.配置内部通信 flannel 网络

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml 
# 查看是否成功
kubectl get pods -n kube-system

8.允许pod部署到master节点

kubectl taint node k8s-master node-role.kubernetes.io/master-
恢复:
kubectl taint node k8s-master node-role.kubernetes.io/master=""

修改ingress端口范围

https://blog.csdn.net/luxiaoruo/article/details/106637355?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
默认情况下,k8s 集群 nodePort 分配的端口范围为:30000-32767,如果我们指定的端口不在这个范围就会报错:
  1. 所以我们修改 /etc/kubernetes/manifests/kube-apiserver.yaml 文件,在 command 下添加 --service-node-port-range=1-65535 参数,添加 nodePort 范围参数后会自动生效,无需进行其他操作:
    vim /etc/kubernetes/manifests/kube-apiserver.yaml
    image.png
  2. 修改ingress.yaml中的配置指定node port
spec:
  type: NodePort
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
      nodePort: 80
    - name: https
      port: 443
      protocol: TCP
      targetPort: https
      nodePort: 443
  • 本文作者: Dante
  • 本文链接: https://gaodongfei.com/archives/ubuntu安装k8s
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# kubernetes
k8s操作指南
  • 文章目录
  • 站点概览
Dante

Dante

119 日志
5 分类
5 标签
RSS
Creative Commons
0%
© 2023 Dante
由 Halo 强力驱动
|
主题 - NexT.Pisces v5.1.4
沪ICP备2020033702号