在MacOS上安装kubernetes

使用minikube在mac上部署kubernetes环境

git地址:https://github.com/limingnihao/k8s-for-mac

安装minikube命令

brew 安装升级

安装:

brew install minikube

升级:

brew update
brew upgrade minikube

下载安装包

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \
  && sudo install minikube-darwin-amd64 /usr/local/bin/minikube

选择虚拟机

支持三种HyperKit、VirtualBox、Parallels Desktop、VMware Fusion

VirtualBox

下载VirtualBox,5.2以上版本。

设置默认driver:

minikube config set driver virtualbox

或者启动时指定:

minikube start --driver=virtualbox

minikube start 命令

minikube start命令将进行启动kubernetes。
有以下一些参数:

-v 日志等级

  • --v=0 INFO level logs
  • --v=1 WARNING level logs
  • --v=2 ERROR level logs
  • --v=3 libmachine logging
  • --v=7 libmachine --debug level logging

--kubernetes-version 指定版本

minikube start --v=2 \
--kubernetes-version v1.12.8 \

--image-repository 镜像代理

使用中国地区的镜像地址

--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

--cpus --memory 资源设定

--cpus 4
--memory=8192

minikube dashboard

开启kubernetes的dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
kubectl get pods -n kubernetes-dashboard

启动代理和访问:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/.

kubectl proxy

添加权限
kubectl apply -f admin-user-admin.rbac.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
---
# Create ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

查看token

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

minikube addons enable ingress

安装ingress
然后可以给部署的service配置ingress.
查看是否安装完毕:

kubectl get pods -n kube-system -o wide

minikube cache

当在kubernetes部署docker时,时长会有一些镜像下载不下来,可以现在个人电脑上下载好(你懂得),然后通过cache将images缓存到kubernetes的虚拟机上。

minikube cache add docker.elastic.co/elasticsearch/elasticsearch-oss:7.6.0

可以执行项目中load_images.sh脚本,他将kubernetes的基础包进行下载和添加到cache中。

查看缓存列表:

minikube cache list

添加tiller到 [k8s] service account

在kube-system命名空间中创建tiller账户
kubectl create serviceaccount --namespace kube-system tiller

创建角色并授予cluster-admin权限
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

安装tiller

helm init --service-account tiller
helm init --upgrade --service-account tiller --tiller-image=registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.3 --skip-refresh --history-max 255

如果只显示客户端版本,表示 helm 无法连接到服务端。通过 kubectl 查看 tiller pod 是否在运行:

kubectl -n kube-system get pods -l app=helm
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容